Delphi 7 和 Oracle (oraoledb)

标签 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)
)
)

我还在主机(C:\Windows\System32\drivers\etc)中定义了“10.1.254.50 ds2”。 我可以在命令提示符中“tnsping ds2”,但每当我在表单中添加 ADOConnection 并将连接字符串设置为:“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 中的“服务名称”?

最佳答案

尝试

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

关于Delphi 7 和 Oracle (oraoledb),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19475283/

相关文章:

windows - Windows 7 上的 DataSnapXE2 正常断开连接

delphi - delphi字符串以处理类型转换

delphi - 从函数指针获取函数名?

delphi - 运行时出错执行文件 : dbrtl70. bpl 丢失

delphi - 使用数据库查询中的列填充 TListBox

delphi - 泛型和 Marshal/UnMarshal。我在这里缺少什么?

delphi - 使用delphi将PNGImage转换为灰度

delphi - 为什么 PC 之间的控件缩放比例不同?

delphi - 将泛型类型从一个类传递到另一个类时出错

ios - 通过 RAD Studio 10.0 开发的 Firemonkey 应用程序在 iOS 7.1 上崩溃?