使用EARTH字段从Postresql数据库加载数据集

时间:2018-05-10 01:52:38

标签: c# windows npgsql

我正在使用C#和Npgsql来访问Postresql数据库

 I can load tables into a dataset using

 Dataset loaded_data;
 loaded_data.Clear();
 string query = "SELECT * FROM postretable";
 NpgsqlDataAdapter data_adapt = new NpgsqlDataAdapter(query,connection);
 data_adapt.Fill(loaded_data);

 However I get an error 
 "42883: no binary output function available for type earth" 
 when there are columns of type EARTH in the table. 
 Is there a way to provide a binary output function for EARTH ?

谢谢

1 个答案:

答案 0 :(得分:0)

地球类型似乎取决于立方体类型,没有二进制输入/输出功能,因此目前Npgsql不支持。这是扩展中的PostgreSQL端限制,不幸的是你无法真正做到这一点。请参阅https://github.com/npgsql/npgsql/issues/698,其中说明了与立方体相同的内容。

但是,Npgsql 4.0.0版本(目前在preview / rc中)通过NetTopologySuite .NET库see the docs包含对PostGIS的PostgreSQL空间扩展的本机支持。这应该提供更完整和准确的这种空间计算,并得到完全支持。