" DataReader.GetFieldType(...)返回null"在Azure网站上

时间:2014-04-09 17:02:18

标签: c# sql-server azure ado.net

我在Azure上运行了一个网站。我从SQL Server数据库表中提取数据,该数据库具有“Geography”类型的列。这会导致“DataReader.GetFieldType(...)返回null

的错误

网络上的消息来源说我必须包含我已添加到web.config的Microsoft.SqlServer.Types.dll和bin文件夹,但仍然会出现错误。我错过了什么?

代码:

    SqlConnection Connection = NewConnection();
    SqlDataAdapter da = new SqlDataAdapter(SQL, Connection);
    DataTable dt = new DataTable();
    da.Fill(dt);

2 个答案:

答案 0 :(得分:3)

我们遇到过Microsoft.SqlServerTypes的许多问题,我们采取的措施之一是将其添加到web.config或app.config文件中,以确保正确定位dll版本

  <dependentAssembly>
    <assemblyIdentity name="Microsoft.SqlServer.Types" publicKeyToken="89845dcd8080cc91" culture="neutral" />
    <bindingRedirect oldVersion="10.0.0.0" newVersion="11.0.0.0" />
  </dependentAssembly>

答案 1 :(得分:0)

您可以引用Microsoft.SqlServer.Types并设置&#34; Copy Local&#34;在其属性中。应该有所帮助。