我想使用连接到Oracle(11g)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
Run Code Online (Sandbox Code Playgroud)
现在,我想出了如何通过添加"UID=my_user;PWD=my_pass"到连接字符串将UserID和密码输出到连接字符串中,然后将其从中删除odbc.ini.当我无法找到ServerName离开odbc.ini和进入连接字符串的方式时,我的快乐很快就过去了.那我该怎么做?有没有办法odbc.ini彻底摆脱DSN,只有连接字符串中的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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5719 次 |
| 最近记录: |