编程语言是C#
数据库是ORACLE 8.1.6现在的问题是,BLOB字段可以正常写入数据,但是读数据的时候报错“发生了一个 Oracle 错误,但无法从 Oracle 中检索错误信息。数据类型不被支持。”    public static void Main(string[] sParameter)
    {
        string sConnectionString = "Provider=MSDAORA;User ID=test;Data Source=handing;Password=test;server=192.168.0.5;";
        OleDbConnection con = new OleDbConnection(sConnectionString);
        con.Open();        OleDbCommand cmd = con.CreateCommand();
        OleDbTransaction transaction = con.BeginTransaction();
        cmd.Transaction = transaction;        try
        {
            string SQL = "SELECT * from clob_test2";
            cmd.CommandText = SQL;
            cmd.Prepare();                //在这里出错
            OleDbDataReader dreader = cmd.ExecuteReader();
            
            transaction.Commit();
            Console.WriteLine("成功!");
        }
        catch (Exception ex)
        {
            transaction.Rollback();
            Console.WriteLine("失败!" + ex.Message);
        }        Console.Read();
    }

解决方案 »

  1.   

    怎么看我现在用的是OLEDB驱动还是ODBC驱动?从连接字符串可以看出来吗?
    网上说ODBC不支持BLOB类型
      

  2.   

    在网上找到一个例程。这是他的连接字符串。
    string cnnstr = "provider=OraOLEDB.Oracle;data source=zlkj_kk;User Id=kk;Password=kk;";   
    provider=OraOLEDB.Oracle。他装的是什么?
      

  3.   


            OleDbConnection con = new OleDbConnection(sConnectionString);
            con.Open();        OleDbCommand cmd = con.CreateCommand();
            OleDbTransaction transaction = con.BeginTransaction();
    OLEDB
      

  4.   

    参考:
    http://www.cnblogs.com/zhengmaoch/archive/2005/08/10/212014.html