return new BooleanReaderCacheContainer();\r
case DbConvert.JavaSqlTypes.BLOB :\r
return new BlobReaderCacheContainer();\r
+ case DbConvert.JavaSqlTypes.VARCHAR:\r
case DbConvert.JavaSqlTypes.CHAR : \r
if (String.CompareOrdinal("uniqueidentifier", ResultsMetaData.getColumnTypeName(columnIndex)) == 0) {\r
return new GuidReaderCacheContainer();\r
case DbConvert.JavaSqlTypes.INTEGER :\r
return new Int32ReaderCacheContainer();\r
case DbConvert.JavaSqlTypes.LONGVARCHAR :\r
- case DbConvert.JavaSqlTypes.VARCHAR :\r
return new StringReaderCacheContainer();\r
case DbConvert.JavaSqlTypes.NULL :\r
return new NullReaderCacheContainer();\r
schemaRow [(int)SCHEMA_TABLE.IsLong] = true;\r
break;\r
}\r
+ case DbConvert.JavaSqlTypes.VARCHAR:\r
case DbConvert.JavaSqlTypes.CHAR: {\r
// FIXME : specific for Microsoft SQl Server driver\r
- if (metaData.getColumnTypeName(columnIndex).Equals("uniqueidentifier")) {\r
+ if (String.CompareOrdinal(metaData.getColumnTypeName(columnIndex), "uniqueidentifier") == 0) {\r
schemaRow [(int)SCHEMA_TABLE.ProviderType] = DbType.Guid;\r
schemaRow [(int)SCHEMA_TABLE.DataType] = DbTypes.TypeOfGuid;\r
schemaRow [(int)SCHEMA_TABLE.IsLong] = false;\r
}\r
+ else\r
+ if (String.CompareOrdinal(metaData.getColumnTypeName(columnIndex), "sql_variant") == 0) {\r
+ schemaRow [(int)SCHEMA_TABLE.ProviderType] = DbType.Object;\r
+ schemaRow [(int)SCHEMA_TABLE.DataType] = DbTypes.TypeOfObject;\r
+ schemaRow [(int)SCHEMA_TABLE.IsLong] = false;\r
+ }\r
else {\r
schemaRow [(int)SCHEMA_TABLE.ProviderType] = GetProviderType((int)columnType);\r
schemaRow [(int)SCHEMA_TABLE.DataType] = DbTypes.TypeOfString;\r
schemaRow [(int)SCHEMA_TABLE.IsLong] = true;\r
break;\r
}\r
- case DbConvert.JavaSqlTypes.VARCHAR: {\r
- // FIXME : specific for Microsoft SQl Server driver\r
- if (metaData.getColumnTypeName(columnIndex).Equals("sql_variant")) {\r
- schemaRow [(int)SCHEMA_TABLE.ProviderType] = DbType.Object;\r
- schemaRow [(int)SCHEMA_TABLE.DataType] = DbTypes.TypeOfObject;\r
- schemaRow [(int)SCHEMA_TABLE.IsLong] = false;\r
- }\r
- else {\r
- schemaRow [(int)SCHEMA_TABLE.ProviderType] = GetProviderType((int)columnType);\r
- schemaRow [(int)SCHEMA_TABLE.DataType] = DbTypes.TypeOfString;// (char[]);\r
- schemaRow [(int)SCHEMA_TABLE.IsLong] = false;//true;\r
- }\r
- break;\r
- }\r
- // else if(columnType == -8 && metaData.getColumnTypeName(columnIndex).Equals("ROWID")) {\r
- // // FIXME : specific for Oracle JDBC driver : OracleTypes.ROWID\r
- // schemaRow [(int)SCHEMA_TABLE.ProviderType] = DbType.String;\r
- // schemaRow [(int)SCHEMA_TABLE.DataType] = DbTypes.TypeOfString;\r
- // schemaRow [(int)SCHEMA_TABLE.IsLong] = false;\r
- // }\r
default: {\r
schemaRow [(int)SCHEMA_TABLE.ProviderType] = DbType.Object;\r
schemaRow [(int)SCHEMA_TABLE.DataType] = DbTypes.TypeOfObject;\r