protected void BindData1()
{
OracleConnection orcn = new OracleConnection("User ID=wesoftwcp; Password=wesoft; Data Source=oradb");
orcn.Open();
string MyData = "";
StreamReader rs = new StreamReader(@"c:/1.txt");
MyData = rs.ReadToEnd();
rs.Close();
//OracleConnection orcn = new OracleConnection("User ID=wesoftwcp; Password=wesoft; Data Source=oradb");
//orcn.Open();
OracleType lobtype = OracleType.Clob; //如果是blob这里改成OracleType.blob
string CreateTempBlob = "DECLARE A " + lobtype + "; " +
"BEGIN " +
"DBMS_LOB.CREATETEMPORARY(A, FALSE); " +
":LOC := A; " +
"END;";
OracleTransaction transaction = orcn.BeginTransaction();
OracleParameter[] param = new OracleParameter[1];
param[0] = new OracleParameter("LOC", OracleType.Clob);
//OracleHelper.CacheParameter(CreateTempBlob,param);
OracleCommand cmdTemp = new OracleCommand(CreateTempBlob, orcn);
param[0].Direction = ParameterDirection.Output;
//OracleHelper.ExecuteNonQuery(transaction,CommandType.Text,CreateTempBlob,param);
cmdTemp.Parameters.Add(param[0]);
cmdTemp.Transaction = transaction;
cmdTemp.ExecuteNonQuery();
OracleLob tempLob = (OracleLob)param[0].Value;
//将文件内容传入Blob变量
tempLob.BeginBatch(OracleLobOpenMode.ReadWrite);
byte[] bytes = System.Text.Encoding.Unicode.GetBytes(MyData);
tempLob.Write(bytes, 0, bytes.Length);
tempLob.Position = 0;
transaction.Commit();
//orcn.Close();
// OracleLob lob = GetTempCLobs(MyData);
OracleCommand cmd = orcn.CreateCommand();
//string sql = "update T set contentclob=:P_clob where id=0";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new OracleParameter("P_clob", OracleType.Clob));
cmd.Parameters["P_clob"].Direction = ParameterDirection.Input;
//Response.Write();
cmd.Parameters["P_clob"].Value =tempLob;
cmd.CommandText = "test";
int i=cmd.ExecuteNonQuery();
Response.Write("成功");
}