using oracle.dataaccess.client,Oracle数据库之Oracle.DataAccess.Client.OracleConnection.Open()报错...

本文主要向大家介绍了Oracle数据库之Oracle.DataAccess.Client.OracleConnection.Open()报错,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助。

使用ODAC链接Oracle数据库时,conn.Open()报错:未将对象的实例设置到对象引用。

Oracle.DataAccess.dll版本:4.121.2.0 ODAC RELEASE 4

OracleClient版本:Oracle 12c Release 4

方案一(验证可行):

(1)服务器安装32-bit ODAC with Oracle Developer Tools for Visual Studio Downloads,下载地址:http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html。

(2)下载 the ODAC XCopy version,下载地址:http://www.oracle.com/technetwork/database/windows/downloads/utilsoft-087491.html

(3)解压ODAC XCopy version,找到instantclient_12_1文件夹。

(4)把instantclient_12_1文件夹中的文件复制到Oracle 12c Release4安装目录的bin文件夹中,如果有重复的文件跳过。

方案二(未验证):

把项目中Oracle.DataAccess.dll引用换成Oracle.ManagedDataAccess.dll。

修改ConnnectionString中providerName="Oracle.ManagedDataAccess.Client"。

本文由职坐标整理并发布,希望对同学们学习Oracle有所帮助,更多内容请关注职坐标数据库Oracle数据库频道!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
存储图片到Oracle: ```c# using Oracle.DataAccess.Client; using System.Drawing; using System.IO; //连接Oracle数据库 string connString = "User Id=<username>;Password=<password>;Data Source=<datasource>"; OracleConnection conn = new OracleConnection(connString); conn.Open(); //将图片转换为字节数组 Image image = Image.FromFile("<imagePath>"); MemoryStream ms = new MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); byte[] imageBytes = ms.ToArray(); //插入图片数据到Oracle string sql = "INSERT INTO <tableName> (image_column) VALUES (:imageParam)"; OracleCommand cmd = new OracleCommand(sql, conn); OracleParameter param = new OracleParameter(":imageParam", OracleDbType.Blob); param.Value = imageBytes; cmd.Parameters.Add(param); cmd.ExecuteNonQuery(); //关闭连接 conn.Close(); ``` 读取Oracle中BLOB字段的图片并显示到PictureBox: ```c# using Oracle.DataAccess.Client; using System.Drawing; using System.IO; //连接Oracle数据库 string connString = "User Id=<username>;Password=<password>;Data Source=<datasource>"; OracleConnection conn = new OracleConnection(connString); conn.Open(); //查询图片数据 string sql = "SELECT image_column FROM <tableName> WHERE <condition>"; OracleCommand cmd = new OracleCommand(sql, conn); OracleDataReader reader = cmd.ExecuteReader(); if (reader.Read()) { //从查询结果中读取图片数据 byte[] imageBytes = (byte[])reader["image_column"]; //将字节数组转换为Image对象 MemoryStream ms = new MemoryStream(imageBytes); Image image = Image.FromStream(ms); //将Image对象显示在PictureBox中 pictureBox1.Image = image; } //关闭连接 conn.Close(); ``` 其中 `<username>`、`<password>`、`<datasource>`、`<tableName>`、`<condition>` 需要根据实际情况进行替换。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值