I have a database in SQL Anywhere 9 and the application is written in PowerBuilder 10. I created the tables and columns with all upper case names. When I connect in PowerBuilder it shows them all in lower case. When I view them in Sybase Central they show in upper case. I there a setting in SA or PB that can fix this issue? asked 12 Nov '10, 19:19 Roland Smith |
I will take your word for the fact Sybase Central honors the original CREATE TABLE case, since that behavior is predicted by the motto "Watcom does things the way they should be done."
PowerBuilder 10 So, it ain't got nothing to do with the SQL Anywhere engine... that leaves PowerBuilder and ODBC. However, an examination of the ODBC Driver Properties in the PowerBuilder Database painter reveals that SQL_IDENTIFIER_CASE = 4 which (I am pretty sure) means "SQL_IC_MIXED – identifier names are not case sensitive, and are stored in mixed case in the system catalog" which AFAIK is an accurate description of how SQL Anywhere, er, Adaptive Server Anywhere databases present themselves to the outside world:
So... that leaves PowerBuilder... perhaps something in that funky PB - ODB - INI file that has bedeviled generations of PowerBuilder developers? I leave that as an exercise for others :) answered 13 Nov '10, 10:32 Breck Carter 1
Thanks. I found the setting in the .ini file and got it to work how I want it. 3
@Roland: For future users that have this problem, can you tell everyone what the name of the setting was and what change you made? - Thanks |
A co-worker of mine just solved this issue. Step 1: Find the PowerBuilder initialization file. in PowerBuilder 10: C:\Program Files (x86)\Sybase\Shared\PowerBuilder\pbodb100.ini in PowerBuilder 12: C:\Users\[username]\AppData\Local\Sybase\PowerBuilder 12.0\pbodb120.ini Put this close to the top of the file. [SQL Anywhere] PBTableOwner ='NO' The trick is to put it in "the right" section. By doing it this way you create the right section. We're skipping 11 and didn't use 7,8 or 9, so those are left as an exercise to the reader. answered 21 Jun '11, 16:54 carolstone Well, I'm not familiar with PB - but the fact that an entry "PBTableOwner" has influence on the case in which table/column names are displayed seems mysterious to me ... funky stuff, for sure:)
(21 Jun '11, 17:09)
Volker Barth
|
I would assume that this is a PB issue. AFAIK, table names (as all identifiers) are generally case-insensitive, and SA stores them exaclty as you enter them. - That assumed, I don't know PB so can't tell whether there's an according option...