0
votes

A Power Builder 11 application is facing issues with DB queries through ODBC driver on a windows 2008 server. Below are details.

Application has query in format like select "column1" from "table1" . Application uses MSSQL Database. This application used to run fine on Windows 2003 server through ODBC Drivers, however the application is now failing on Windows 2008 server.

After detailed analysis i found that query are failing through ODBC driver on Windows 2008 server due to quoted identifier formatting. I tried to modify quoted_identifier attribute but it doesn't help. When i remove quote " from query , it works fine. however its practically impossible to make such change as application has thousand of such queries. Both 2003 and 2008 has different SQL drivers , however backend database remains the same.

I cannot update quoted identifier attribute on database as its being used by other systems. Please suggest how it can be fixed through application or ODBC Drivers.

2

2 Answers

0
votes

Per the MSDN:

The SQL Server ODBC driver and Microsoft OLE DB Provider for SQL Server automatically set QUOTED_IDENTIFIER to ON when connecting. This can be configured in ODBC data sources, in ODBC connection attributes, or OLE DB connection properties. SET QUOTED_IDENTIFIER defaults to OFF for connections from DB-Library applications.

Have you tried modifying the connection string?

0
votes

I have resolved the problem now. My Application was designed on PB9.0 and when we moved the application from Win2003 server to Win2007 server the system stopped rendering Assignment operators in application. I tried all possible options like quoted identifier , DLL changes etc but nothing worked. At the end i wrote a program to which switches the assignment operators into normal way i.e. converts c+=A into C = C + A. Once i did such changes for all arithmetic assignment operators, my application started working fine.