(1) C#代码如下:
        public void Fill(System.Data.DataTable oDataTable, string sCont)
        {
            try
            {
                if (oDataTable != null)
                {
                    DbDataAdapter dbDataAdapter = dbfactory.CreateDataAdapter();
                    string strSQL = "Select * from TB_TEXT_APPEND where 1=2";  // 只查询表结构
                    DbCommand cmd = this.GetSqlStringCommond(strSQL);                    dbDataAdapter.SelectCommand = cmd;
                    OpenConnection(dbDataAdapter.SelectCommand.Connection, this._DataSourceName);
                    dbDataAdapter.FillSchema(oDataTable, SchemaType.Mapped); // * * * 执行到这里报异常
                    dbDataAdapter.Fill(oDataTable);
                }            }
            catch (System.Exception err)
            {
                throw (err); // 
            }
        }(2) 数据库是IBM DB2, 表 TB_TEXT_APPEND 的结构如下:
 (APPEND_ID  VARCHAR(40)        NOT NULL,
  FILE_NAME               VARCHAR(127),
  FILE_SIZE               INTEGER,
  FILE_TYPE               VARCHAR(20),
  CONTENTS                BLOB(1048576)                LOGGED  NOT COMPACT  INLINE LENGTH 164
 )(3) 异常的内容是:
System.ArgumentException: 未知 SQL 类型 - -98。
   在 System.Data.Odbc.TypeMap.FromSqlType(SQL_TYPE sqltype)
   在 System.Data.Odbc.OdbcDataReader.BuildMetaDataInfo()
   在 System.Data.Odbc.OdbcDataReader.GetSchemaTable()
   在 System.Data.ProviderBase.SchemaMapping..ctor(DataAdapter adapter, DataSet dataset, DataTable datatable, DataReaderContainer dataReader, Boolean keyInfo, SchemaType schemaType, String sourceTableName, Boolean gettingData, DataColumn parentChapterColumn, Object parentChapterValue)
   在 System.Data.Common.DataAdapter.FillSchemaFromReader(DataSet dataset, DataTable datatable, SchemaType schemaType, String srcTable, IDataReader dataReader)
   在 System.Data.Common.DataAdapter.FillSchema(DataTable dataTable, SchemaType schemaType, IDataReader dataReader)
   在 System.Data.Common.DbDataAdapter.FillSchemaInternal(DataSet dataset, DataTable datatable, SchemaType schemaType, IDbCommand command, String srcTable, CommandBehavior behavior)
   在 System.Data.Common.DbDataAdapter.FillSchema(DataTable dataTable, SchemaType schemaType, IDbCommand command, CommandBehavior behavior)
   在 System.Data.Common.DbDataAdapter.FillSchema(DataTable dataTable, SchemaType schemaType)
   在 ChinaUIP.Engine.Data.Access.DbHelper.Fill(DataTable oDataTable, String sCont) (4) 把BLOB类型那个字段去掉,执行能通过,加上BLOB类型的字段,执行就报异常。
我想请教一下,为什么会有这个问题? 如何解决? DB2里除了BLOB,还有什么其它可用的二进制类型吗?