我一直在寻找这个,我已经使用 C# 开发了必须连接 Oracle 数据库的 Windows 窗体应用程序,这个应用程序将在许多使用 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