



附录:解决“需要Oracle 客户端软件8.1.7 或更高版本”的方法
在oracle/bin目录,
1、加入asp.net machine account(aspnet) 用户帐号;
2、授完全权限;
3、将aspnet帐号加入administrators用户组里,并重起iis。
注意,3个步骤一个都不能少。
最后oracle/bin目录的用户群如下:
asp.net machine account
administrator
authenticated users
我用的delphi6.0中的ado连接已与oracle数据库配置好连接的odbc数据源,结果与ado连接的adoquery会出现“ora-12154,TNS:无法处理服务器名”的错误。请问高手如何解决此问题?
附:程序是在oracle客户端开发的,现在在服务器上就会出现以上错误。
程序是在oracle客户端开发的,现在在服务器上运行就会出现以上错误。服务器没有安装oracle客户端程序.
服务器tnsnames.ora如下:
CYWC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = yjl)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oracle.net)
)
)
ORACLE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = yjl)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oracle.net)
)
从这几个方面来检查一下:
1.是由于DOMAIN设置不正确
1.1在tnsname中加了DOMAIN,但在sqlnet中没有配置
如
DEV1.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(Host = 145.45.78.56)
(Port = 1521)
)
)
(CONNECT_DATA = (SID = ORCL)
)
)
而sqlnet.ora
#NAMES.DEFAULT_DOMAIN=world --被注释掉了
~~~~~~~~~
将注释去掉
~~~~~~~~~
1.2如果现象还是存在,那可能是由于脚本中有CTRL-M (^M) 或者CTRL-R (^R)
比如我们在ultraedit上编辑了文件,用ftp的bin方式传过去(或者相反),那么就可能包含了这些字符。所以建议用ultraedit的conversions=>dos to unix 并在传送ftp时用ascii模式
1.3在sqlnet.ora中的NAMES.DIRECTORY_PATH将TNSNAMES放在最前面
如
NAMES.DIRECTORY_PATH=(TNSNAMES)
NAMES.DIRECTORY_PATH=(TNSNAMES, HOSTNAME)
1.4
echo $TNS_ADMIN查看是否有数据,确保设置正确的路径
1.5设置AUTOMATIC_IPC = OFF
1.6确保sqlnet.ora和tnsname.ora有正确的权限(777)