使用unixODBC连接Oracle:TNS:net服务名称指定不正确

z0qdvdin  于 2023-11-17  发布在  Oracle
关注(0)|答案(1)|浏览(145)

我试图从Ubuntu连接到Windows Server中的Oracle。我已经安装了unixODBC和Oracle驱动程序到Ubuntu。当我尝试使用isql连接时,它给出以下错误:

user@user:~$ isql -v oracle-jono username password
[S1000][unixODBC][Oracle][ODBC][Ora]ORA-12545: Connect failed because target host or object does not exist
[ISQL]ERROR: Could not SQLConnect

字符串
当我用sudo运行它时,我得到了不同的错误:

[S1000][unixODBC][Oracle][ODBC][Ora]ORA-12162: TNS:net service name is incorrectly specified


我尝试了许多环境变量的组合都没有成功(ORACLE_HOME,ORACLE_SID,TNS_ADMIN,TWO_TASK).这是我第一次使用Oracle做任何事情,所以实际上我对它一无所知.我还尝试修改odbc.ini和tnsnames.ora文件.
此Oracle连接的odbc.ini:

[oracle-jono]
Description = ...
Driver      = OracleDriver
Server      = 111.222.111.222
User        = ...
Password    = ...
Port        = 1521
Database    = mydatabase


My tnsnames.ora:

Data Source=
    (DESCRIPTION=
        (ADDRESS_LIST=
            (ADDRESS=
                (PROTOCOL=TCP)
                (HOST=111.222.111.222)
                (PORT=1521)
            )
        )
        (CONNECT_DATA=
            (SERVER=DEDICATED)
            (SERVICE_NAME=mydatabase)
        )
);User Id=...;Password=...;


有什么明显的错误吗?我应该把什么放在环境变量中?我必须在Windows Server中Oracle数据库退出的地方做些什么(例如Oracle侦听器)吗?

g6ll5ycj

g6ll5ycj1#

我尝试了很多很多东西,不确定它们中的哪一个工作,但我的猜测是,odbc.ini中的ServerName修复了这个错误:

[oracle-jono]
Description = ...
...same as above...
ServerName  = //111.222.111.222:1521/mydatabase

字符串

相关问题