设为首页 - 加入收藏 PHP编程网 - PHP站长网 (http://www.52php.cn)- 电商,百科,编程,业界,移动互联,5G,云计算,站长网!
热搜: java 配置 原来 google
当前位置: 首页 > 站长百科 > 正文

unixODBC / Oracle:如何仅在连接字符串中指定所有数据源信息,而

发布时间:2021-05-16 02:16 所属栏目:[站长百科] 来源:网络整理
导读:我想使用unixODBC连接到Oracle(11g).我希望连接字符串仅指定所有数据库/数据源信息,并且ODBC INI文件(/etc/odbc.ini和/etc/odbcinst.ini)仅包含通用驱动程序信息,例如在何处查找’.所以’等等,即我希望它们是静态的.我想这样做,以便我可以从外部获取用户的

我想使用unixODBC连接到Oracle(11g).我希望连接字符串仅指定所有数据库/数据源信息,并且ODBC INI文件(/etc/odbc.ini和/etc/odbcinst.ini)仅包含通用驱动程序信息,例如在何处查找’.所以’等等,即我希望它们是静态的.我想这样做,以便我可以从外部获取用户的连接字符串,并连接到数据源,而无需修改任何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”来获取连接字符串中的UserID和密码,并将其从odbc.ini中删除.当我无法找到从odbc.ini获取ServerName并进入连接字符串的方式时,我的快乐很快就过去了.那我该怎么做?有没有办法完全摆脱odbc.ini中的DSN,并且在连接字符串中只有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)

解决方法

只需使用Dbq = address:1521 / orcl,就可以得到你想要的东西

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

推荐文章
热点阅读