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%20Smith's gravatar image

Roland Smith
91448
accept rate: 0%

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...

(13 Nov '10, 10:14) Volker Barth

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:

alt text

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):

alt text

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:

alt text

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 :)

permanent link

answered 13 Nov '10, 10:32

Breck%20Carter's gravatar image

Breck Carter
32.5k5417261050
accept rate: 20%

1

Thanks. I found the setting in the .ini file and got it to work how I want it.

(13 Nov '10, 23:38) Roland Smith
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

(14 Nov '10, 02:28) Mark Culp

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.

permanent link

answered 21 Jun '11, 16:54

carolstone's gravatar image

carolstone
3413817
accept rate: 22%

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
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×13

question asked: 12 Nov '10, 19:19

question was seen: 4,386 times

last updated: 21 Jun '11, 17:09