我试图使用c++将我的SQLAPI++代码与oracle连接起来,但它给出了错误TNS:could not resolve the connect identifier specified
我的代码是这样的:
con.Connect( "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=192.168.1.XXX) (PORT=1521))(CONNECT_DATA = (SERVICE_NAME = SERVICE_NAME )))", "UsrName", "Password", SA_Oracle_Client );如果我只使用相同的代码,但用户名和密码不等于如下所示:
con.Connect( "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=192.168.1.XXX) (PORT=1521))(CONNECT_DATA = (SERVICE_NAME = SERVICE_NAME )))", "", "", SA_Oracle_Client );编译器给我一个ORA-01017: Invalid username / password; connection refused\n错误。
发布于 2022-08-03 08:43:05
您可以尝试使用即时客户端语法:
[//]host[:port][/service name]这是我在SQLAPI++中成功地使用过的。您所使用的字符串将出现在tnsnames.ora中,您可以通过一个所谓的tnsname引用这个条目。如果无法更改存储在Oracle安装中的tnsnames.ora,则可以指示Oracle通过定义环境变量TNS_ADMIN从另一个位置提取文件。如果您自己的tnsnames.ora文件存在,则将其设置为一个目录。
https://stackoverflow.com/questions/70113832
复制相似问题