Delphi 7和oracle(oraoledb)

时间:2013-10-20 08:17:42

标签: delphi

我开发了一个使用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)
)
)

我还定义了" 10.1.254.50 ds2"在主机(C:\ Windows \ System32 \ drivers \ etc)中。 我可以" 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 Client,...)来解析"服务名称"在德尔福?

1 个答案:

答案 0 :(得分:0)

尝试

  • 将代码从UDL文件粘贴到连接字符串。
  • 配置ODBC提供程序。