on ‎2010 Nov 12 7:19 PM
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?
Request clarification before answering.
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."
SQL Anywhere Adaptive Server Anywhere Version 9 dbisql does the same, echoes the names back in the original case:

PowerBuilder 10 mucks it up differs in two ways... all lower case in the tree view on the left, and capitalized in the DataWindow view on the right (the latter is probably desired behavior, but the former is not):

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 🙂
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks. I found the setting in the .ini file and got it to work how I want it.
@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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 15 | |
| 9 | |
| 6 | |
| 5 | |
| 4 | |
| 4 | |
| 3 | |
| 2 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.