如何用c#
从oracle的表1读出long类型的数据,写到表2中的blob中。谢谢

解决方案 »

  1.   


    long n = 12313123;
    byte[] bytes = BitConverter.GetBytes(n);string sql1 = "insert into QX_TEMP(LINE_DATA) values(:LINE_DATA)"; 
    OracleCommand line_cmd = new OracleCommand(sql1, oracle_conn); 
    line_cmd.Parameters.Add(new OracleParameter("LINE_DATA", OracleType.Blob)); 
    line_cmd.Parameters["LINE_DATA"].Value = bytes; 
    line_cmd.ExecuteNonQuery();
     
      

  2.   

    byte[] fs= System.Text.Encoding.Default.GetBytes (ds.Tables[0].Rows[0][""].ToString()); 
    或TO_LOB 
      public static int ExecuteSql(string strSQL, byte[] fs)
            {
                using (OracleConnection connection = new OracleConnection(connectionString))
                {
                    OracleCommand cmd = new OracleCommand("", connection);
                    System.Data.OracleClient.OracleParameter myParameter = new System.Data.OracleClient.OracleParameter("@fs", OracleType.Blob);
                    myParameter.Value = fs;
                    cmd.Parameters.Add(myParameter);
                    try
                    {
                        connection.Open();
                        int rows = cmd.ExecuteNonQuery();
                        return rows;
                    }
                    catch (System.Data.OracleClient.OracleException E)
                    {
                        throw new Exception(E.Message);
                    }
                    finally
                    {
                        cmd.Dispose();
                        connection.Close();
                    }
                }
            }