我们的客户正在使用iWay Software的驱动程序来提供对大型机系统上顺序文件的ODBC访问。他们能够使用ODBC源从Excel成功访问数据,但是当我们尝试在成功打开的DbDataReader上使用GetSchemaTable()访问架构信息时,会抛出以下异常:
System.ArgumentException:未知的SQL类型 - 0。 在System.Data.Odbc.TypeMap.FromSqlType(SQL_TYPE sqltype) 在System.Data.Odbc.OdbcDataReader.BuildMetaDataInfo() 在System.Data.Odbc.OdbcDataReader.GetSchemaTable() 在System.Data.Odbc.OdbcMetaDataFactory.DataTableFromDataReaderDataTypes(DataTable dataTypesTable,OdbcDataReader dataReader,OdbcConnection连接) 在System.Data.Odbc.OdbcMetaDataFactory.GetDataTypesCollection(String []限制,OdbcConnection连接) 在System.Data.Odbc.OdbcMetaDataFactory.PrepareCollection(String collectionName,String [] restriction,DbConnectionconnection) 在System.Data.ProviderBase.DbMetaDataFactory.GetSchema(DbConnection连接,String collectionName,String []限制) 在System.Data.ProviderBase.DbConnectionInternal.GetSchema(DbConnectionFactory工厂,DbConnectionPoolGroup poolGroup,DbConnection outerConnection,String collectionName,String []限制) at System.Data.Odbc.OdbcConnection.GetSchema(String collectionName,String [] restrictionValues) at System.Data.Odbc.OdbcConnection.GetSchema(String collectionName) 在MyApplication.ReadAdo.GetRowDefinition()
由于未知的SQL类型为0,因此在System.Data.Odbc.TypeMap.FromSqlType()中抛出了System.ArgumentException。
有没有办法可以忽略这个错误,因为我们并不真正需要列的数据类型,只是列名列表?或者,有没有其他方法可以访问此架构信息?