今日安装一应用,数据库采用的是Oracle 8i。
按照说明安装并配置,但是无法连接到数据库。查看sqlnet.log文档,内容如下:
***********************************************************************
Fatal OSN connect error 12154, connecting to:
ORA8
VERSION INFORMATION:
TNS for 32-bit Windows: Version 2.3.4.0.0 - Production
Time: 17-JAN-07 13:58:10
Tracing not turned on.
***********************************************************************
Fatal OSN connect error 12547, connecting to:
(DESCRIPTION=(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=BEQ)(PROGRAM=oracle80)(ARGV0=oracle80ORCL)
(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))')))
(CONNECT_DATA=(SID=ORCL)(CID=(PROGRAM=XXXX.exe)(HOST=PC-002)(USER=Administrator))))
VERSION INFORMATION:
TNS for 32-bit Windows: Version 2.3.4.0.0 - Production
Oracle Bequeath NT Protocol Adapter for 32-bit Windows: Version 2.3.4.0.0 - Production
Time: 17-JAN-07 13:58:10
Tracing not turned on.
Tns error struct:
nr err code: 12206
TNS-12206: Message 12206 not found; No message file for product=NETWORK, facility=TNS
ns main err code: 12547
TNS-12547: Message 12547 not found; No message file for product=NETWORK, facility=TNS
ns secondary err code: 12560
nt main err code: 517
TNS-00517: Message 517 not found; No message file for product=NETWORK, facility=TNS
nt secondary err code: 0
nt OS err code: 0
***********************************************************************
到Google上搜索吧,信息挺少,只好到MSN上找高人请教了。
网友wish发来的解决帖,并附其翻译(呵呵,怎知俺鸟语不咋地呢?)
1) Make sure your tnsnames.ora have the same correct entries on both local and remote databases.
then lsnrctl reload
确保你的tnsnames.ora文件在本地和远程数据库都有正确的实体名
然后lsnrctl重新加载
2) create a public database link on the local database:
As sys (or a user that can create dblinks):
CREATE PUBLIC DATABASE LINK <choose name="" a="">
CONNECT TO LINKUSER
IDENTIFIED BY
USING ' ';
在本地数据库创建一个公共的数据库的连接 :
作为sys(或者可以创建数据库连接的用户):
CREATE PUBLIC DATABASE LINK <选择一个名字>
CONNECT TO LINKUSER
IDENTIFIED BY <有效的密码>
USING '<指向远程数据库的tnsnames.ora文件的服务名>';
3) On the remote database, create a user for the link to use:
CREATE USER LINKUSER IDENTIFIED BY <the above="" password="" valid="">
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP
PROFILE <an profile="" appropriate="">
在远程数据库里创建一个使用连接的用户
CREATE USER LINKUSER IDENTIFIED BY <上面有效的密码>
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP
PROFILE <一个适当的profile>
ACCOUNT UNLOCK;
4) GRANT CONNECT TO <the above="" name="" link="" chosen="">;
or perhaps
grant create session to linkuser;
解锁帐户
4) GRANT CONNECT TO <上面选择的连接>;
或者
grant create session to 连接用户;
Also make sure the tables and column names called in the trigger are valid ones.
吼吼,希望有用,只有明天试试看了。。。。。。。。</the> </an></the> </choose>
按照说明安装并配置,但是无法连接到数据库。查看sqlnet.log文档,内容如下:
***********************************************************************
Fatal OSN connect error 12154, connecting to:
ORA8
VERSION INFORMATION:
TNS for 32-bit Windows: Version 2.3.4.0.0 - Production
Time: 17-JAN-07 13:58:10
Tracing not turned on.
***********************************************************************
Fatal OSN connect error 12547, connecting to:
(DESCRIPTION=(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=BEQ)(PROGRAM=oracle80)(ARGV0=oracle80ORCL)
(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))')))
(CONNECT_DATA=(SID=ORCL)(CID=(PROGRAM=XXXX.exe)(HOST=PC-002)(USER=Administrator))))
VERSION INFORMATION:
TNS for 32-bit Windows: Version 2.3.4.0.0 - Production
Oracle Bequeath NT Protocol Adapter for 32-bit Windows: Version 2.3.4.0.0 - Production
Time: 17-JAN-07 13:58:10
Tracing not turned on.
Tns error struct:
nr err code: 12206
TNS-12206: Message 12206 not found; No message file for product=NETWORK, facility=TNS
ns main err code: 12547
TNS-12547: Message 12547 not found; No message file for product=NETWORK, facility=TNS
ns secondary err code: 12560
nt main err code: 517
TNS-00517: Message 517 not found; No message file for product=NETWORK, facility=TNS
nt secondary err code: 0
nt OS err code: 0
***********************************************************************
到Google上搜索吧,信息挺少,只好到MSN上找高人请教了。
网友wish发来的解决帖,并附其翻译(呵呵,怎知俺鸟语不咋地呢?)
1) Make sure your tnsnames.ora have the same correct entries on both local and remote databases.
then lsnrctl reload
确保你的tnsnames.ora文件在本地和远程数据库都有正确的实体名
然后lsnrctl重新加载
2) create a public database link on the local database:
As sys (or a user that can create dblinks):
CREATE PUBLIC DATABASE LINK <choose name="" a="">
CONNECT TO LINKUSER
IDENTIFIED BY
USING ' ';
在本地数据库创建一个公共的数据库的连接 :
作为sys(或者可以创建数据库连接的用户):
CREATE PUBLIC DATABASE LINK <选择一个名字>
CONNECT TO LINKUSER
IDENTIFIED BY <有效的密码>
USING '<指向远程数据库的tnsnames.ora文件的服务名>';
3) On the remote database, create a user for the link to use:
CREATE USER LINKUSER IDENTIFIED BY <the above="" password="" valid="">
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP
PROFILE <an profile="" appropriate="">
在远程数据库里创建一个使用连接的用户
CREATE USER LINKUSER IDENTIFIED BY <上面有效的密码>
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP
PROFILE <一个适当的profile>
ACCOUNT UNLOCK;
4) GRANT CONNECT TO <the above="" name="" link="" chosen="">;
or perhaps
grant create session to linkuser;
解锁帐户
4) GRANT CONNECT TO <上面选择的连接>;
或者
grant create session to 连接用户;
Also make sure the tables and column names called in the trigger are valid ones.
吼吼,希望有用,只有明天试试看了。。。。。。。。</the> </an></the> </choose>