Delphi 7和oracle(oraoledb)
我开发了一个使用Delphi7、ADO和ORACLE的应用程序,我使用的提供程序是OraOLEDB。 连接到oracle server需要安装什么。(请列出应用程序或驱动程序) 操作系统:Win7 64x 德尔菲:7 我从Oracle站点安装了OraOLEDB_90101。所以我可以在delphi中看到adoConnection中的OraOLEDB。 我在环境变量(系统和用户)中定义TNS\u Admin:D:\oracle\ora90\network\Admin 我的tnsnames.ora是:Delphi 7和oracle(oraoledb),delphi,Delphi,我开发了一个使用Delphi7、ADO和ORACLE的应用程序,我使用的提供程序是OraOLEDB。 连接到oracle server需要安装什么。(请列出应用程序或驱动程序) 操作系统:Win7 64x 德尔菲:7 我从Oracle站点安装了OraOLEDB_90101。所以我可以在delphi中看到adoConnection中的OraOLEDB。 我在环境变量(系统和用户)中定义TNS\u Admin:D:\oracle\ora90\network\Admin 我的tnsnames.ora是
DS2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.254.50)(PORT = 1521))
)
(CONNECT_DATA =
(SID = ict)
(SERVER = DEDICATED)
)
)
我还在主机(C:\Windows\System32\drivers\etc)中定义了“10.1.254.50 ds2”。
我可以在命令提示符中使用“tnsping ds2”,但每当我在表单中添加ADOConnection并将connectionString设置为:“Provider=OraOLEDB.Oracle.1;Persist Security Info=False;User ID=tehranvu;Data Source=ds2”并选择connect to TRUE时,就会出现错误消息:“ORA 12154:TNS:无法解析服务名称。”。
我创建了一个UDL文件,“测试连接”正常。(从udl文件复制连接字符串无效)
我将连接字符串设置为:
"Provider=OraOLEDB.Oracle;Persist Security Info=True;
UserId=xxxx;Password=xxxx;Data Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =
(PROTOCOL = TCP)(HOST = DS2)(PORT = 1521)))(CONNECT_DATA =(SID = ict)(SERVER =
DEDICATED)(SERVICE_NAME=DS2)))"
但它也会引起同样的错误
我应该安装哪些其他应用程序或驱动程序(例如Oracle客户端…)来解析delphi中的“服务名称”?试试看
- 将代码从UDL文件粘贴到连接字符串
- 配置ODBC提供程序
OraOLEDB
提供商在host
和service\u name
具有相同名称方面存在问题。你能试着重命名两者中的一个吗?我的主要问题是:我是否必须安装Oracle客户端?如果是,是什么版本?(win 7 64x和delphi 7)…您需要安装Oracle客户端
,或者至少安装ODAC
。检查和