【发布时间】:2012-12-21 03:55:21
【问题描述】:
这个我找了好久 我已经使用 C# 开发了必须连接 Oracle 数据库的 Windows Forms App, 此应用程序将在许多使用 windows XP 和 windows 7 的 PC 上使用 经过长时间的研究,我发现我需要使用 OBP.net 进行 oracle 访问,但问题是我无法在每台 PC 上安装 oracle 客户端,但是我在CodePorject Example找到了解决方法,下载 5 个 DLL 文件来做同样的工作
OCI Instant Client Data Shared Library
oraociicus10.dll (Basic-Lite version)
oraociei10.dll (Basic version)
Client Code Library
oci.dll
Security Library
orannzsbb10.dll
OCCI Library
oraocci10.dll
但是当我发布应用程序时,它并没有连接到 Oracle 数据库 请帮助我如何让我的 Windows Forms 应用程序在没有安装 Oracle 客户端的 PC 的情况下连接 Oracle 数据库,如果可以通过上述 DLLS 实现这一点,我该怎么做?
编辑:
DataTable dt = new DataTable();
OracleConnection Oracle_connection = new OracleConnection();
Oracle_connection.ConnectionString = con;
Oracle_connection.Open();
连接超时,在Oracle_connection.Open(); 处于调试模式,我不使用 TNSNAMES.ORA,因为我的连接字符串是
Data Source=(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.20.2.54)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = PRD))) ;User Id=catering;Password=catering;"`
试图发布在 Windows 7 PC 上运行但在 Windows XP 上无法运行的代码
System.TypeInitializationException: The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception. ---> Oracle.DataAccess.Client.OracleException The provider is not compatible with the version of Oracle client at Oracle.DataAccess.Client.OracleInit.Initialize()
不知道是windows相关还是缺少某些DLL
【问题讨论】:
-
“它没有连接到 Oracle 数据库”您是否遇到异常(哪一个?) CodeProject 示例有一些故障排除技巧,您阅读了吗?
-
您是否在同一目录中有合适的 TNSNAMES.ORA 文件,或者您是否有合适的连接字符串?
-
感谢您的回复,已编辑我的问题
标签: c# .net oracle dll instantclient