未正确指定将Oracle与unixODBC:TNS:net服务名称连接

未正确指定将Oracle与unixODBC:TNS:net服务名称连接,oracle,ubuntu,odbc,unixodbc,Oracle,Ubuntu,Odbc,Unixodbc,我正在尝试在Windows服务器上从Ubuntu连接到Oracle。我已经在Ubuntu上安装了unixODBC和Oracle驱动程序。当我尝试使用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 [

我正在尝试在Windows服务器上从Ubuntu连接到Oracle。我已经在Ubuntu上安装了unixODBC和Oracle驱动程序。当我尝试使用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\u HOME、ORACLE\u SID、TNS\u ADMIN、TWO\u TASK。这是我第一次和甲骨文合作,所以实际上我对它一无所知。我还尝试修改odbc.ini和tnsnames.ora文件

此Oracle连接的My odbc.ini:

[oracle-jono]
Description = ...
Driver      = OracleDriver
Server      = 111.222.111.222
User        = ...
Password    = ...
Port        = 1521
Database    = mydatabase
我的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=...;

有什么明显的问题吗?我应该在环境变量中添加什么?我是否必须在存在Oracle数据库的Windows Server中执行某些操作,例如Oracle侦听器?

我尝试了许多方法,但不确定哪种方法有效,但我猜odbc.ini中的ServerName修复了此错误:

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

我尝试了很多方法,但不确定哪种方法有效,但我猜odbc.ini中的ServerName修复了此错误:

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

非常感谢你,我花了好几天的时间查找这个,这是我找到的唯一正确答案。非常感谢你,我花了好几天的时间查找这个,这是我找到的唯一正确答案