使用 unixODBC 连接 Oracle:TNS:net 服务名称指定不正确
Connecting Oracle with unixODBC: TNS:net service name is incorrectly specified
我正在尝试从 Ubuntu 连接到 Windows 服务器中的 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 文件。
我的 odbc.ini 此 Oracle 连接:
[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 服务器中执行某些操作(例如 Oracle 侦听器)?
我尝试了很多东西,但不确定其中哪一个有效,但我的猜测是 odbc.ini 中的 ServerName 修复了这个错误:
[oracle-jono]
Description = ...
...same as above...
ServerName = //111.222.111.222:1521/mydatabase
我正在尝试从 Ubuntu 连接到 Windows 服务器中的 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 文件。
我的 odbc.ini 此 Oracle 连接:
[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 服务器中执行某些操作(例如 Oracle 侦听器)?
我尝试了很多东西,但不确定其中哪一个有效,但我的猜测是 odbc.ini 中的 ServerName 修复了这个错误:
[oracle-jono]
Description = ...
...same as above...
ServerName = //111.222.111.222:1521/mydatabase