why r u not create a ini file? through ini file u can connect two diffent database.
Main Topics
Browse All TopicsI have two database which are ODBC on two different application when I open the first application every thing works find. if I open the second application it picks up the first database. I have to connect the second database and then disconnect the first database. and if I go back into the first application the second database is connected. how can I make the application remember thier right database.
using powerbuilder 10.5
This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.
Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.
If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.
Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.
Access the answers to your technology questions today.
30-day free trial. Register in 60 seconds.
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Try it out and discover for yourself.
30-day free trial. Register in 60 seconds.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
I think you have problem while coding not while running the application. Actually this is the problem with sybase it always remembers the last database profile used (database connected) irrespective of application you are using. So when you open PB next time and when pb connects to database for any reason (say while opening a datawindow) it will connect to the last profile.
PB keeps this last profile in registry
HKEY_CURRENT_USER\Software
Sybase should alteast allow to co-relate dbprofile with workspace. relating with target is again a problem. Let's see when they add this feature
Regards,
Sandeep
If I understood the problem correctly then problem is...
1. say there are two applications ( X and Y) in PB.
2. there are two different database profiles (x_data and y_data) in database painter using ODBC drivers to connect to database.
3. application X is using database profile X_data and Y is using y_data.
4. he first opens application X in PB and to create a datawindow needs to connect x_data
5. Now he opens application Y in PB and disconnects X_data and connects Y_data.
6. now when he goes back to first application X still y_data is connected so again needs to connect x_data and disconnect y_data.
what user wants is whenever any application is opened related database profile should be connected automatically instead of manually switching between two different profiles.
And for this problem above registry entries are being used.
Regards,
Sandeep
Also user didn't say that which database trying to connect (sybase or oracle) and it's not necessary that your tool always directly supports native database drivers for all databases and their latest versions. when there are no native database drivers available user will have to use ODBC.
For example.
Company has licensed version of Powerbuilder 6.5 and Oracle 11g. How PB6.5 will have native database interface for Oracle11g. In such scenarios use of native drivers is restricted.
Sandeep
I would say that post 24775689 is a reasonable summary up to [6], after that it is conjecture (may be right or wrong, we do not know). If you are right re PB storing one (or two or five) Registry entries, then sure, that would the point of focus. And yes, it appears OP would need to formally set up two profiles (instead of the current default to one profile)
OP has stated Sybase; OP has not identified any other RDBMS. I will stick to the Sybase context only.
Native Drivers. I am not having a discussion here re ntive drivers in general. I am answering OP's question. PB and Sybase ASE both come from Sybase Inc. Sybase is supplied with Open-Client (what you are calling "Native Driver", although I would not use those terms); that sits on every PC in the organisation, and is the prescribed, very fast, method of connecting to Sybase.
There are Hundreds of pieces of software (BusinessObjects/DBArtisan
Enter ODBC. That's where the "drivers" come in. That sits on top of Sybase Open Client. You can get ODBC drivers from many orgs, but of course the ODBC driver from Sybase is most secure and supported. OBDC is very, very slow. What is relevant here is, ODBC has its own limitations, as in you can "connect" to only one "database" at a time. But in fact the "database" is actually a server:port:database:login
For PowerBuilder, which comes from the same company, and runs against Open Client directly, it is a bit silly (slow and limited connectivity) to set up ODBC and use that additional layer instead.
As per my first post, the problem is not with Sybase or Open Client; it is with the ODBC set up (which is incomplete for what OP wants to do). First I have recommended avoiding ODBC altogether: the problem, which is a product of the ODBC limitation disappears; PB will perform faster.
But if OP wishes to use PB to ODBC to OC to Sybase, fine. In that case, you may be right, the most recently used profile may be in the registry, and that needs to be tweaked. More probably, two ODBC profiles need to be set up, and the two PB apps need to be changed to select the correct profile when launched.
Cheers
We are here to help OP, right, not to get into our separate little stoushes, right ? They have to read all this and figure out what to do; what works; etc. We do not want to waste his time by adding confusion, the problem needs clear understanding and then the solution is simple.
In the determination of the problem, then, so that the resolution can be identified, if you agree that my definition of Open Client and ODBC is correct, how can the following be false:
- 'This is not a Sybase problem, it is an ODBC configuration problem" ?
The resolution to the problem:
- either by using PB directly with Open Client (which is a PB configuration change)
- or by setting up a second ODBC Datasource name correctly (which is an ODBC configuration change)
does not "fix" or "change" Sybase or Open Client in any way; they will keep working unchanged ... once you get access to it. Therefore:
- this is not a Sybase problem
- this is an ODBC configuration problem
- (or if you remove the use of ODBC) this is a PB/Open Client configuration problem.
My post 24775342 remains relevant, the purpose is to gain clarity re the problem (then you can fix it). Blaming Sybase; "it always", etc, is simply incorrect. And that has been proved already, thus far.
Cheers
Business Accounts
Answer for Membership
by: IncisiveOnePosted on 2009-07-02 at 18:01:19ID: 24769148
This is not a Sybase problem, it is an ODBC configuration problem.
BTW, you do not have any databases "on ODBC", the databases are in Sybase, Oracle, etc. ODBC "Open Database Connectivity" is the software on your PC which gives you connection to the database. Very slow compared to the native connection to the db (Open Client); ODBC is another, additional layer of software on top of the native connection; additionally it introduces many problems and limitations that Open Client does not have. PB is a Sybase product, and connects to Sybase directly ... why on Earth are you using ODBC-Open CLient-Sybase instead of Open Client-Sybase ?