Progress Providex数据库openquery SQL错误
问题描述:
当我使用providex odbc驱动程序对链接服务器执行openquery选择时出现此错误。我试图连接的数据库建立在Progress上。Progress Providex数据库openquery SQL错误
无法从链接服务器“FCEU”的OLE DB提供程序“MSDASQL”中获取列“[MSDASQL] .IVD_PRICE”的当前行值。转换失败,因为数据值溢出了提供者使用的数据类型。
有没有解决这个问题的方法?我无法访问我试图查询的服务器。
谢谢!
答
Progress数据库实现了所有数据类型作为可变长度。 “格式”只是默认显示的建议。进度应用程序经常忽略该建议和“over-stuff”字段。
这给大多数SQL客户端配合。
治愈取决于Progress/OpenEdge的版本。
从版本9开始的所有版本的Progress都支持一个名为“dbtool”的实用程序,该实用程序将扫描数据库并调整任何已被填充的字段的“SQL-WIDTH”属性。你必须在服务器上运行它。 (或者说服DBA做到这一点。)
http://knowledgebase.progress.com/articles/Article/P24496
这是进步数据库的一个很常见的,例行的程序。
您还可以使用-checkwidth参数来防止这些事情发生 - 但在您的情况下,马已经不在谷仓中,并且可能会破坏应用程序。所以它现在可能对你没有用处。
与OpenEdge 11.5开始有新的功能,以自动处理宽度侵犯时,SQL客户端连接: