找不到oracle oledb 驱动的解决方法

使用ADO连接oracle数据库时,连接串使用Provider=OraOLEDB.Oracle时提示“未找到提供程序。该程序可能未正确安装”。

原因:正如提示信息所说
查看oracle安装目录下的BIN目录,发现没有OraOLEDB*.dll
解决方法:
从运行正常的机器上拷贝上述dll文件
然后注册其中的
OraOLEDB10.dll(其它版本的oracle可能后面的数字会跟随变化)
注册方法:
regsvr32  OraOLEDB10.dll
在其所在目录下执行
使用Provider=MSDAORA时,不支持读写BLOB和CLOB类型的数据,没办法,只能使用oracle oledb
原来Oralce OLEDB是oracle提供的,怪不得怎么重装微软的数据库驱动都不行
MSDAORA是由微软提供

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 如果要使用 OleDb 连接非本机的 Oracle 数据库,需要在连接字符串中指定数据库的 IP 地址和端口号。具体步骤如下: 1. 引用 OleDb 命名空间。 ```csharp using System.Data.OleDb; ``` 2. 创建连接字符串。 ```csharp string connectionString = "Provider=MSDAORA;Data Source=IP_ADDRESS:PORT/SERVICE_NAME;User ID=yourUsername;Password=yourPassword;"; ``` 其中,Data Source 中的 IP_ADDRESS 和 PORT 分别指定了要连接的数据库服务器的 IP 地址和端口号,SERVICE_NAME 指定了数据库的服务名或 SID。如果不知道服务名或 SID,可以在数据库服务器上运行命令 `lsnrctl status` 查看。 3. 创建 OleDbConnection 对象。 ```csharp OleDbConnection connection = new OleDbConnection(connectionString); ``` 4. 打开数据库连接。 ```csharp connection.Open(); ``` 5. 执行 SQL 命令。 ```csharp OleDbCommand command = new OleDbCommand("SELECT * FROM yourTable", connection); OleDbDataReader reader = command.ExecuteReader(); while (reader.Read()) { // 处理查询结果 } ``` 6. 关闭数据库连接。 ```csharp connection.Close(); ``` 需要注意的是,以上代码仅供参考,实际应用中可能需要根据具体情况进行调整。另外,如果使用的是 .NET Core,需要使用 Oracle 提供的 .NET Core 数据库驱动程序,而不是 OleDb。 ### 回答2: 使用OleDb连接非本机的Oracle数据库的流程如下: 第一步,将OleDb数据提供程序添加到项目中。这可以通过在Visual Studio中的项目中添加对应的引用来完成。 第二步,创建一个OleDbConnection对象并设置数据库的连接字符串。连接字符串包括数据库的位置、用户名和密码等信息。例如,可以使用以下连接字符串连接到Oracle数据库: "Provider=OraOLEDB.Oracle;Data Source=服务器地址/数据库实例名;User ID=用户名;Password=密码" 第三步,打开数据库连接。使用OleDbConnection对象的Open方法来打开连接。 第四步,创建并执行SQL查询或命令。可以使用OleDbCommand对象来执行SQL查询或命令。首先创建一个OleDbCommand对象,设置查询语句,并将其与已打开的连接相关联。然后,使用OleDbCommand对象的ExecuteReader、ExecuteNonQuery或ExecuteScalar方法执行查询。 第五步,处理查询结果。根据查询的需求,使用OleDbDataReader对象来读取和处理查询返回的数据。使用OleDbDataReader对象的Read方法来逐行读取查询结果,并使用相应的方法来获取特定列的值。 第六步,关闭数据库连接。使用OleDbConnection对象的Close方法来关闭连接,以释放与数据库的连接,并确保在不需要连接时节省资源。 需要注意的是,要使用OleDb连接非本机的Oracle数据库,需要确保已经正确安装了Oracle客户端,并且数据库服务器可以通过网络访问。同时,还需要确保使用的连接字符串中提供了正确的服务器地址、数据库实例名、用户名和密码等信息。 以上就是使用OleDb连接非本机的Oracle数据库的流程。 ### 回答3: OleDb(Object Linking and Embedding for Databases)是一种用于在Windows平台上连接和操作数据库的技术。要连接非本机的Oracle数据库,需要按照以下流程进行操作: 1. 导入OleDb命名空间:在代码中导入OleDb命名空间,以便使用其中提供的类和方法。 2. 创建OleDb连接对象:使用OleDbConnection类创建一个连接对象,这个对象将用于连接到Oracle数据库。 3. 设置连接字符串:使用OleDbConnection对象的ConnectionString属性设置连接字符串。连接字符串应包含非本机Oracle数据库的地址、用户名和密码等信息。 4. 打开连接:使用OleDbConnection对象的Open()方法打开连接。 5. 执行SQL语句:使用OleDbConnection对象的ExecuteNonQuery()、ExecuteScalar()或ExecuteReader()等方法执行需要在Oracle数据库中执行的SQL语句。 6. 关闭连接:在完成对数据库的操作后,使用OleDbConnection对象的Close()方法关闭连接。 7. 释放资源:使用OleDbConnection对象的Dispose()方法释放连接对象占用的系统资源。 需要注意的是,在连接非本机Oracle数据库时,连接字符串的设置非常重要。连接字符串中应包含正确的数据库地址、用户名和密码,以确保能够成功连接到目标数据库。另外,还需要确保计算机上已经正确安装了相应的Oracle客户端驱动程序。 以上是连接非本机Oracle数据库的大致流程,具体的细节和代码实现可能会有所不同,具体操作可以参考OleDb连接Oracle数据库的相关文档和示例代码。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值