Where are ODBC settings stored?

Most of the ODBC settings can be found in the registry under the Software/ODBC/ODBC.INI branch.  However, the Network Library setting is not stored there.  Where is this stored?
jsullivanAsked:
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.

epoulsenCommented:
Just a shot in the dark...
I believe this is stored in WIN.INI under the [SQLSERVER] section under a statment
DATABASE=X,Y
Where X is the Network Library and Y is the name of the database.  I don't believe this information is stored in the Registry...I scanned my own registry and I don't see any of my network libraries referred to there.
0
jsullivanAuthor Commented:
I checked my WIN.INI and I don't see the Network Library info in there.  I also checked ODBC.INI and ODBCINST.INI and couldn't find the info in there either.  Any other ideas?
0
smeebudCommented:
Are you sure you're using the 32 bit version of ODBC Admin.  If your changes are
being made in files (odbc.ini, odbcinst.ini) then you are using the wrong version, and won't
see the database.

Note, If this answer does not work, either reject it or comment back.
I'm here to solve your problem and will gladly work with you until
you are satisfied.
It's your page.
Please don't accept or grade until you problem is solved as that will
lock out other techs.
You're under no time limit or restrictions.
Regards,
Bud
0
CompTIA Cloud+

The CompTIA Cloud+ Basic training course will teach you about cloud concepts and models, data storage, networking, and network infrastructure.

jsullivanAuthor Commented:
Yes, I'm definitely using the 32-bit Administrator.  Apparantly it maintains the INI files like the 16-bit version does, probably for backward compatability.

I'm not quite sure what you mean about grading or not grading an answer.  I thought that I had to either grade an answer or reject it.  I'll submit this response without a grade.
0
smeebudCommented:
I mean you don't have to grade this now, nor do you have to accept my answer.
in fact, if I were you I would open this up to other techs by rejecting this answer.

If you're using full 32bit. i don't have the answer but it may be in on of the URL's i posted.

look at them.

Bud
0
jsullivanAuthor Commented:
Thanks for your suggestions, but I couldn't find the answer to my question on any of those web pages.  I still don't know where ODBC stores the Network Library info.

I'm going to open this question back up now to see if anyone else knows.
0
smeebudCommented:
From reading the newsgroups I get the feelimg that they are stored in a .dll file.
How, I've no idea.

Bud
0
smeebudCommented:
Your using EASYSOFT?

Go read
http://search.dejanews.com/query_profile.xp?query=ODBC+files&nofilt=1

many questions and answers.
0
jsullivanAuthor Commented:
No, I'm not using EasySoft - don't even know what that is.  The ODBC data source I'm talking about is a SQL Server data source.  I'd like to programatically set the Net Library for that data source if I can figure out where to do that.
0
smeebudCommented:
0
smeebudCommented:
1.Log in to the machine you are protecting as the machine or domain administrator. Using regedt32.exe, take ownership
of the following key:

HKEY_LOCAL_MACHINE\
SOFTWARE\
ODBC\
ODBC.INI

2.Set the value "Trace" to "0". The "Trace" value can be found under the following registry key:

HKEY_LOCAL_MACHINE\
SOFTWARE\
ODBC\
ODBC.INI\
ODBC

3.Set the value "TraceDll" to an empty string. The "TraceDll" value can be found under the following registry key:

HKEY_LOCAL_MACHINE\
SOFTWARE\
ODBC\
ODBC.INI\
ODBC

4.Set the permissions for "Everyone" to READ on the "ODBC" key.
5.Remove explicit permissions on the "ODBC" key for any non-administrative users.

For each user, there is a registry file. This file is named %SYSTEMROOT%\profiles\username\ntuser.dat. These files can be
loaded into regedt32.exe using the Registry | Load Hive menu command.

1.Make the HKEY_USERS window active, and click on HKEY_USERS. Using the "Load Hive" command on the "Registry"
menu, find the appropriate hive. When prompted for the key name, use the username you are editing.
2.Take ownership of the key ODBC and its subkeys as was done in the preceding steps. The key will be found in the
following location

HKEY_USERS\
username\
SOFTWARE\
ODBC\
ODBC.INI\
ODBC

3.Set the value "Trace" to "0". The "Trace" value can be found under the following registry key:

HKEY_LOCAL_MACHINE\
username\
SOFTWARE\
ODBC\
ODBC.INI\
ODBC

4.Set the value "TraceDll" to an empty string. The "TraceDll" value can be found under the following registry key:

HKEY_LOCAL_MACHINE\
username\
SOFTWARE\
ODBC\
ODBC.INI\
ODBC

5.Set the permissions for "Everyone" to READ on the "ODBC" key.
6.Remove explicit permissions on the "ODBC" key for any non-administrative users.
7.Unload the hive you just loaded.

The preceding steps secured currently existing registry keys. When creating new users, the 6 steps above need to be
followed.
0
jsullivanAuthor Commented:
Thanks for you efforts, I've already seen this article.  Unfortunately, as I mentioned earlier, the NetLib info is not in the Software\ODBC branch of the Registry.

I'm not trying to do anything with security, I just want to be able to set the NetLib for our data source programatically.

I have checked into some of the ODBC newsgroups and I have left a message out there with my question.
0
smeebudCommented:
Sorry I can't be more help.

Bud
0
jsullivanAuthor Commented:
Thanks again for trying.  I do appreciate it.  I'll keep searching through the newsgroups for the answer.
0
tbaffyCommented:
Try this key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SQLServer\Client\ConnectTo
DSQUERY

Tom
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
jsullivanAuthor Commented:
Thank You!!  At first I didn't find it because you had a typo in the key name.  It's actually "MSSQLServer" and not just "SQLServer".

It looks like DSQuery is set to your default Network Library (the one you set up in the Client Configuration utility).  However, if you put a specific Net Library in your ODBC data source, a new key is added.  For example, if you specify a server name of LEGAL and a net lib of DBMSSOCN, a new key will be added: LEGAL=DBMSSOCN,LEGAL

Thanks again for solving this for me.
0
tbaffyCommented:
Sorry about the typo, glad to help!

Tom
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
Windows OS

From novice to tech pro — start learning today.