我在delphi中用ado动态连接oracle时老报ORA-12154:TNS:无法处理服务名 我用的时Oracle Provider for OLE DB. 用Mircosoft OLE DB Provider for Oracle驱动连接,报连接未被打开 的错误 在用ADO控件静态调用时能成功。 本机与调用运程机器oracle出现同样的错误.
ATGC:这些我都试过了,没有用的。
你说的动态连接是实时改变连接字符串吧?1、如果你用Oracle Provider for OLE DB,那就是如下这样 ADOQuery1.ConnectionString := 'Provider=OraOLEDB.Oracle.1;Password=genomics;Persist Security Info=True;User ID=system;Data Source=atgc'; 这里是数据源,我的是atgc,你的是“EGOV4JS_172.18.27.44 ”2、如果你用Mircosoft OLE DB Provider for Oracle,那就是如下这样 ADOQuery1.ConnectionString := 'Provider=MSDAORA.1;Password=genomics;User ID=system;Data Source=atgc;Persist Security Info=True';
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.27.44)(PORT = 1521))
)
(CONNECT_DATA =
(SID = egov4js)
(SERVER = DEDICATED)
)
)
请帮我看看,这是tnsnames.ora里面的连接名,此处的server 到底是什么东东啊?
EGOV4JS_172.18.27.44 “用户名称:”你的用户名
“密码:” 不用俺说了吧然后选“允许保存密码”这里的SERVER = DEDICATED是oracle的一种进程结构,和你的delphi连接没有关系。。
我用的时Oracle Provider for OLE DB.
用Mircosoft OLE DB Provider for Oracle驱动连接,报连接未被打开 的错误
在用ADO控件静态调用时能成功。
本机与调用运程机器oracle出现同样的错误.
ADOQuery1.ConnectionString := 'Provider=OraOLEDB.Oracle.1;Password=genomics;Persist Security Info=True;User ID=system;Data Source=atgc';
这里是数据源,我的是atgc,你的是“EGOV4JS_172.18.27.44 ”2、如果你用Mircosoft OLE DB Provider for Oracle,那就是如下这样
ADOQuery1.ConnectionString := 'Provider=MSDAORA.1;Password=genomics;User ID=system;Data Source=atgc;Persist Security Info=True';
如果在SQL*PLUS里面不能这样登录,那么说明有其它问题