Oracle.DataAccess.Client.dll , Oracle 64 , :
“Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342” 。
Oracle , : , 【 】->【 】, x64 。
:
//
Byte[] imgbyte = null;
string imagPath = @"C:\Users\Public\Pictures\Sample Pictures\aaa.jpg";
using(FileStream fs = new FileStream(imagPath, FileMode.Open, FileAccess.Read))
{
imgbyte = new Byte[fs.Length];
fs.Read(imgbyte, 0, imgbyte.Length);
fs.Close();
}
// Oracle ,Oracle.DataAccess.Client.dll Oracle (...\dbhome_1\ODP.NET\bin\2.x)
string connString = "Data Source = datasource;User ID = userid;Password = password;";
//string connString = "Data Source = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ip)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = servername)));User ID = userid;Password = password;";
Oracle.DataAccess.Client.OracleConnection con = new Oracle.DataAccess.Client.OracleConnection(connString);
Oracle.DataAccess.Client.OracleCommand cmd = new Oracle.DataAccess.Client.OracleCommand();
cmd.CommandText = "insert into tbl_picture(id,picture,createtime) values(666,:picture,sysdate)";
cmd.Parameters.Add("picture", OracleDbType.Blob).Value = imgbyte;
cmd.Connection = con;
try
{
con.Open();
//
int count = cmd.ExecuteNonQuery();
Console.WriteLine(" ,"+count+" !");
//
cmd.CommandText = "select picture from tbl_picture where id = 666";
Oracle.DataAccess.Client.OracleDataReader reader = cmd.ExecuteReader();
if (reader.Read())
{
byte[] iBytes = reader.GetFieldValue(0);
Console.WriteLine(" !");
//
string filePath = @"C:\TestPicture\";
if (!Directory.Exists(filePath)) Directory.CreateDirectory(filePath);
string fileName = filePath+"aaafb.jpg";
using (FileStream fss = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
fss.Write(iBytes, 0, iBytes.Length);
fss.Close();
Console.WriteLine(" , :"+filePath);
}
}
}
catch (Exception ex)
{
Console.WriteLine(" :" + ex.Message);
}
finally
{
con.Close();
}