6

我想使用unixODBC. 我希望连接字符串仅指定所有数据库/数据源信息,并且 ODBC INI 文件(/etc/odbc.ini/etc/odbcinst.ini)仅包含通用驱动程序信息,例如在哪里可以找到“.so”等。即我希望它们是静态的。我想这样做,以便我可以从外部获取用户的连接字符串,并连接到数据源,而无需修改任何 INI 文件或任何其他磁盘配置。

我看到的所有示例都让我/etc/odbc.ini这样定义服务器信息:

[myDSNname]
Driver = OracleODBC-11g
DSN = OracleODBC-11g
ServerName = //xxx.xxx.xxx.xxx:1521/SID_NAME
UserID = my_user
Password = my_pass

现在,我想出了如何通过添加"UID=my_user;PWD=my_pass"到连接字符串中将用户 ID 和密码取出到连接字符串中,并将它们从odbc.ini. 当我也找不到ServerName出入odbc.ini连接字符串的方法时,我的喜悦很快就过去了。那么我该怎么做呢?有没有办法完全摆脱 DSN,odbc.ini只在连接字符串中使用Driverfrom odbcinst.ini,就像我们对 MySQL 所做的那样?

编辑: 尝试来自www.connectionstrings.com的任何似乎不需要 TNS 或 DSN的连接字符串,包括EZCONNECT变体,都给我:

[HY000] [unixODBC][Oracle][ODBC][Ora]ORA-12162: TNS:net service name is incorrectly specified
    (12162) (SQLDriverConnectW)
4

1 回答 1

7

只需使用 Dbq=address:1521/orcl ,你会得到你想要的

于 2013-07-11T05:38:56.920 回答