• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2376
  • Last Modified:

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
0
lesterjwilson
Asked:
lesterjwilson
  • 5
  • 3
  • 2
1 Solution
 
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
Receive 1:1 tech help

Solve your biggest tech problems alongside global tech experts with 1:1 help.

 
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
 
lesterjwilsonAuthor Commented:
Thanks Sandeep, I think this may get us out of trouble.
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

  • 5
  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now