添加引用
using System.Data.OracleClient;
主要用到了两个类
System.Data.OracleClient.OracleConnection 表示一个到数据库的连接。此类无法继承。
System.Data.OracleClient.OracleCommand 表示针对数据库执行的 SQL 语句或存储过程。此类无法继承。
m_path为已经获取的文件名(full name)
表FJ_S中定义了三个字段XM_ID(varchar(50)),XM_NAME(varchar(50),FJ_FILE(blob)
private bool InputRecordToOracle(string sFilePath
{
if (m_Path == null)
{
return false;
}
//获得文件流
System.IO.FileStream pFS = new System.IO.FileStream(m_Path, FileMode.Open, FileAccess.Read);
Byte[] pBuffer = new Byte[pFS.Length];//把文件转成Byte型二进制流
pFS.Read(pBuffer, 0, pBuffer.Length);//把二进制流读入缓冲区
pFS.Close();
try
{
string sConnecStr = "Data Source=*;User ID=*;Password=*";
OracleConnection pConn = new OracleConnection(sConnecStr);
pConn.Open();
OracleCommand pCmd = pConn.CreateCommand();
pCmd.CommandText = "insert into FJ_S(XM_ID,XM_NAME,FJ_FILE) values('" + this.txtXMID.Text +
"','" + this.txtXMName.Text +"',:Doc)"; //正常sql语句插入数据库
pCmd.Parameters.Add("Doc", OracleType.Blob, pBuffer.Length);
pCmd.Parameters[0].Value = pBuffer;
//针对 Connection 执行 SQL 语句并返回受影响的行数。
pCmd.ExecuteNonQuery();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
return false;
}
return true;
}