Powerbuilder application cannot connect to upgraded oracle database

We have an application written in powerbuilder version 5 which connects to an oracle 7.3.4 database. This application was written for us many years ago, and we don't have the source for this application or the powerbuilder application.
We just upgraded our database to Oracle 9.2.0.8 and the application can no longer connect to the database

Is there any simple way to fix this problem? A quick web search seemed to indicate I can change the sqlca.dbms parameter, but would this work, and where would I get the approriate dll's, given that we don't have the powerbuilder application?

With you answers, please keep in mind I know nothing about powerbuilder

Thanks in advance
lesterjwilsonAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

diasroshanCommented:
Hi,

First, its possible to connect to PB5 from Oracle 9i.
Had tried that long time ago.

Second, if u dont have the source code then im afraid its an uphill task or lets say far from possible. Now it depends how ur application connects to the database.Are the connection settings in the code or parameters collected from an ini file from the local machine.

If database parameters are set in an ini file then we cud try a few options. First need to change the DBMS to
DBMS            = 'O90 Oracle9i'

Might also need the odbc dll file if connecting using ODBC

So please provide us with more information. Would be glad to help u out...

Cheers,
Rosh
0
lesterjwilsonAuthor Commented:
Hi Rosh,

The database parameters are set in an ini file and it does look like 'DBMS = O72'.

What I did try was setting DBMS = O90 ORacle 9i and started the application, it then asked for PBO90050.DLL, I found a PBO090.DLL on the net and renamed it to PBO90050.DLL. The application then complained about SQL Error #: 999, SQL Error DBMS 0901 Oracle 9i is not supported inyour current installation.

Thanks
Lester
0
diasroshanCommented:
Hi,

try to get hold of this dll (Pbo9090.dll)

Check if u can connect to ur database now.

Cheers,
Rosh
0
Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

lesterjwilsonAuthor Commented:
Hi Rosh,

I did all that, refer to my previous message.

thanks
Lester
0
diasroshanCommented:
Hi,

dont rename the dll... just use it as it is...

wat version is the oracle client on ur machine...

Cheers,
Rosh
0
lesterjwilsonAuthor Commented:
It is the Oracle 8 client, which can connect to a 9 database.

Once I set the dbms parameter to O90, it asks for PBO90050.DLL, not PBO9090.dll.

Cheers
Lester
0
sandeep_patelCommented:
Hi,

If you are using Oracle 8 client then your ini entry should be O80 or O84... Means depends on the exact version or oracle client. And you should have the exact .dll for connectivity like

PBOXXYYY.dll

where XX is the version of oracle client and YYY is the version of powerbuilder used for development. To know the powerbuilder version you can check PowerBuilder dlls supplied with your exe.

Specially PBVMYYY.dll where YYY is the verison of PowerBuilder.

Regards,
Sandeep
0
lesterjwilsonAuthor Commented:
unfortunately I cannot get hold of this PBOXXYYY.dll, the closest I got was PBO090.dll, and that would not work with and Oracle 8 client or and Oracle 9 client. As it was actually asking for PBO90050.DLL, which I also cannot find anywhere.

I suspect this one will have to go through to the keeper.

Thanks for the suggestions anyway.

0
sandeep_patelCommented:
Hi,

Check in your ODBC adminstrator, if you have Microsoft ODBC for Oracle or Oracle ODBC Driver then you can connect to oracle with ODBC instead of oracle native driver using dll PBODBYYY.DLL where YYY is version of PB.

In your ini profile will be changed say at present you have....

// Profile test
SQLCA.DBMS = "O84 Oracle8/8i (8.x.4+)"
SQLCA.LogPass = 'tiger'
SQLCA.ServerName = "test"
SQLCA.LogId = "scott"
SQLCA.AutoCommit = False
SQLCA.DBParm = "PBCatalogOwner='scott',TableCriteria=',scott'"

now it will be......

// Profile test
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=testdsn;UID=scott;PWD=tiger'"

here 'testdsn' is the name of User DSN or System DSN created under ODBC.

Remember whenever you user ODBC driver instead of database native driver there are changes that system will not support few things...so better you test your application under ODBC driver before you deploy in production....

Regards,
Sandeep
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
lesterjwilsonAuthor Commented:
Thanks Sandeep, I think this may get us out of trouble.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Editors IDEs

From novice to tech pro — start learning today.