Power Builder 11应用程序在Windows 2008服务器上通过ODBC驱动程序面临数据库查询问题。以下是详细信息。
应用程序的查询格式如下 选择" column1"来自" table1" 。应用程序使用MSSQL数据库。此应用程序曾经通过ODBC驱动程序在Windows 2003服务器上正常运行,但该应用程序现在在Windows 2008服务器上失败。
经过详细分析后,我发现由于引用的标识符格式,查询在Windows 2008服务器上通过ODBC驱动程序失败。我试图修改quoted_identifier属性,但它没有帮助。当我从查询中删除引用" 时,它可以正常工作。然而,由于应用程序有数千个此类查询,因此几乎不可能进行此类更改。 2003和2008都有不同的SQL驱动程序,但后端数据库保持不变。
我无法更新数据库上的quoted identifier属性,因为其他系统正在使用它。请建议如何通过应用程序或ODBC驱动程序修复它。
答案 0 :(得分:0)
根据MSDN:
SQL Server ODBC驱动程序和SQL Server的Microsoft OLE DB提供程序在连接时自动将QUOTED_IDENTIFIER设置为ON。这可以在ODBC数据源,ODBC连接属性或OLE DB连接属性中配置。对于来自DB-Library应用程序的连接,SET QUOTED_IDENTIFIER默认为OFF。
您是否尝试修改连接字符串?
答案 1 :(得分:0)
我现在已经解决了这个问题。我的应用程序是在PB9.0上设计的,当我们将应用程序从Win2003服务器移动到Win2007服务器时,系统停止在应用程序中呈现分配操作符。我尝试了所有可能的选项,如带引号的标识符,DLL更改等但没有任何效果。最后,我编写了一个程序,将赋值运算符切换为正常方式,即将c + = A转换为C = C + A.一旦我对所有算术赋值运算符进行了这样的更改,我的应用程序就开始正常工作了。