Windows 10 64位机器运行32位FME version 2016.1.3.1(20161207 - Build 16716 - WIN32),我试图使用ODBC连接到DB2非空间数据库。
我已经安装了IBMIAccess客户机解决方案版本1.1.0.15,并创建了到服务器的32位ODBC连接。当我将IBMDB2非空间读卡器添加到工作区时,它失败,并出现以下错误:不支持IBM DB2非空间读卡器:数据库版本“7.1.15”
我尝试使用这个网站上的说明
https://knowledge.亚搏在线safe.com/articles/675/creating-an-odbc-connection-to-an-ibm-db2-database.html但是它们在Windows10上不起作用。
这是我可以解决的问题,还是我在白费力气?提前谢谢。
约翰
我有FME 2015.1.3.1 Build 15573 64位安装。我尝试使用IBM DB2非空间阅读器连接到我设置的64位ODBC数据源。但当我试图得到表格列表时,我收到一个错误。
为格式创建读卡器:IBMDB2非空间
尝试为名为“db2”的读卡器查找动态插件
“DB2”模块的FME API版本与当前内部版本(3.7 20150407)匹配
为格式创建读卡器:IBMDB2非空间
尝试为名为“db2”的读卡器查找动态插件
“DB2”模块的FME API版本与当前内部版本(3.7 20150407)匹配
打开IBM DB2非空间阅读器
IBM DB2非空间读取器:Dataset = dsn_64位。用户名= a5960。密码= * * * * * * * *
连接到数据库……
连接到数据库时出错
数据库生成的错误信息:
数据库错误消息:[Microsoft][ODBC驱动程序管理器]数据源名称未找到,也没有指定默认驱动程序
数据库SQL语句文本:
SQL状态:IM002
变量信息:
IBM DB2非空间阅读器:连接到数据库失败
关闭IBM DB2非空间读卡器
发生了致命错误。查看上面的日志文件了解详细信息
我已经阅读了这里引用的文章,ODBC可以正常工作,测试连接也很好。我还可以将ODBC数据源与其他集成工具和查询工具一起使用,而不会出现任何错误。
为什么FME不能识别64位数据源?
谢谢。
FME通过ODBC连接连接到IBMDB2数据库。这些说明提供了一些关于如何配置ODBC连接的通用指南。
IBM DB2客户机安装:
您需要安装IBMDB2客户机。这可以在IBM网站上找到。在编写客户机安装程序时是:v9.7fp1_nt32_client.exe文件,但是也有64位版本可用。
安装IBM DB2客户机之后,有几个手动配置步骤。
您可以使用DB2管理员用户和密码来测试连接。
有用的链接:
FME正在将功能加载到我的数据库中,如Microsoft SQL Server Spatial,Oracle Studio,几何验证器传递的Postgis或DB2是有效的,但是数据库工具将其标记为无效。
FME实现了在http://www.opengeospatial.org/standards/sfa/.特别是,几何对象模型见6.1节,这就意味着各种几何图形都是有效的或简单的。
然而,这些规则的每个空间数据库实现都略有不同,这就是为什么有时某个特性会通过geometryogcvalidator,但数据库仍然将其标记为无效。
最常见的情况是具有自相交特性,因此,有时通过self - intersector运行这些特性是有用的。
SELECT *,来自[用户].[架构].[表名]的gem.isvalidDetailed(),其中gem.stisvalid()=0
更新[user]。[schema]。[tablename]设置gem=geom.makevalid(),其中gem.stisvalid()=0
选择sdo_geom.validate_geometry_with_context([tablename].geom,,在[tablename]中,sdo_风水.validate_geometry(GEOM,0.5) <>'TRUE'
从[Schema]。[TableName]中选择*,其中st_有效(geom)<>'true'
DB2 Spatial Extender还提供了一个ST_isValid函数,它将返回无效的几何图形。