2

我开发了一个使用 Delphi 7、ADO 和 ORACLE 的应用程序,我使用的提供程序是 OraOLEDB。我需要安装什么才能连接到 oracle 服务器。(请列出应用程序或驱动程序)

操作系统:Win7 64x 德尔福:7

我从 Oracle 站点安装了 OraOLEDB_90101。所以我可以在delphi的adoConnection中看到OraOLEDB。我在环境变量(系统和用户)中定义 TNS_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”并选择连接到 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 中的“服务名称”?

4

1 回答 1

0

尝试

  • 将代码从 UDL 文件粘贴到连接字符串。
  • 配置 ODBC 提供程序。
于 2015-02-02T10:48:28.233 回答