运行此代码:
(new SqlDataAdapter(new SqlCommand($"select top 0 * from GeoTable", conn))).FillSchema(dt, SchemaType.Mapped);
在两台不同的机器上仍然
Unknown error: DataReader.GetFieldType(0) returned null.
at System.Data.ProviderBase.SchemaMapping.SetupSchemaWithKeyInfo(MissingMappingAction mappingAction, MissingSchemaAction schemaAction, Boolean gettingData, DataColumn parentChapterColumn, Object chapterValue)
其中一个。
GeoTable
包含一个SqlGeography
类型的字段。两台PC都引用了相同版本的Microsoft.SqlServer.Types
。两者都可以使用SqlGeography类型的列创建DataTable。但是当尝试从包含SqlGeography的表中检索模式时,一台机器会出错。
两台机器都有相同的Visual Studio,SqlClient和Sql Server版本。还有什么要检查的?