我是 MSSQL 的新手,我正在尝试使用 OGR2OGR 将 MSSQL 表转换为 Mapinfo Tab 文件,但在一些表上它一直失败并显示上述消息。
我试图在 GIS SE 中获得关于在 OGR2OGR 中应用的开关的回复,但没有任何选择。https://gis.stackexchange.com/questions/314669/ogr2ogr-conversion-failed-when-converting-the-varchar-value-to-data-type-int
NCPR 是什么意思——这个文本不存在于表中——它是为某事编码的吗?
好消息:您没有遗漏任何明显或神秘的东西。
坏消息:如果现场有合适的 DBA,是时候让他们参与进来了。
Dollars to donuts 的错误
object_definition()
在于dbo.vw_AUTH_CREFNO
。通常,vw_
前缀表示该对象是 aVIEW
,这意味着它只是一个较大SELECT
语句的包装器,该语句本身可以包含一系列写得不好JOIN
的 s、格式错误的表达式和嵌套的求值。如果您在服务器上的数据库中有
VIEW DEFINITION
权限(并且对象未加密),是时候尝试提取基本定义并祈祷 DDL 编写合理,这是一个明显的错误。在该对象资源管理器窗格中,您已打开,右键单击并点击,然后点击+并希望您能在代码中找到一个字符串文字。不过,更有可能的是您有以下一项或多项GIS_Test
zzzz
dbo.vw_AUTH_CREFNO
Script View as Create To New Query Editor WindowCtrlfNCPR
JOIN
某处的数字列的字符串列+-/*=
字符)如果您足够幸运,它
NCPR
是代码中某处的字符串文字,但它嵌套在第一级对象下方并且仍在同一GIS_Test
数据库中,您可以使用以下代码段对其进行相当广泛的探索。如果您不那么幸运,您需要在基础数据中查找该值,或者尝试更高级的方法来查找哪个(可能是几个)有问题的表达式导致您当前的问题。
祝你好运!¯\_(ツ)_/¯
值“NCPR”出现在 Vicmap Property 的属性编号字段中。该字段供维多利亚议会使用其内部财产编号填充。当议会没有财产的财产编号时,他们有时会用“NCPR”填充它,它代表非议会财产参考。
当遇到 NCPR 值时,您拥有的任何依赖此字段且仅包含数字的进程都将失败。