ODBC data source fails to connect to SQL Server 2000 via dial-up, but ok on broadband.


Hello, I have a situation in which a laptop user works from home, using a proprietary application.
This application connects to a SQL Server at the office using ODBC.  Although I think irrelevant at this point, the user connects to office LAN via VPN.

Problem:
The ODBC data source setup on client's laptop connects successfully and therefore the application runs well, so long as he is at home (where he has a broadband connection to Internet).

If he leaves home and goes on the road (w/ same laptop), uses dial-up to connect to Internet, the application subsequently fails (I check and find that it is the ODBC data source that does not connect successfully).  

Machine is running XP Home with the latest version of SQL Server data source.
Error is something along the lines of: SQL Server not found or invalid user name (I'm paraphrasing).

My attempts at solution:
ODBC is setup to authenticate using Windows NT authentication (not SQL Server user authentication).
Note that there are 6 other users on home, broadband connections with no problems at all who connect to the office LAN every day.
This implies - I believe - that it is indeed just a dial-up issue.
I've tried different dial-up ISPs; inquired with them to determined if it is a known problem.
I checked the time-out settings in SQL Server, for the possibility that connection is timing out and set it to its highest.


I hope this information helps.  Thanks.
LVL 1
JohnItemAsked:
Who is Participating?
 
gclay1Connect With a Mentor Commented:
Hi - I have a couple of ideas you can try...

First, try using the HOSTS file on the XP Home system to help the name resolution process.  If you are not familiar with the HOST file, just perform a search for HOSTS*.  There will be a couple on the system... be sure to choose the one in the OS system's DRIVERS/ETC folder.  Open the HOSTS file in notepad.  You should see an entry that looks like this...

127.0.0.1       localhost

Try adding another line to help resolution of your SQL servers host name, like this...

127.0.0.1       localhost
<IP ADDR>      <SVR-NAME>

...where <IP ADDR> is the ip address of your SQL server, and <SVR-NAME> is the netbios name of your SQL server, separated by a tab.  Be sure to save the HOSTS file as text only.

Second, have a look at the settings for the dial-up account to make sure NetBios Over TCP/IP is enabled...

1.  Right click on the dialup account and select PROPERTIES
2.  Go to the NETWORKING tab and highlight the INTERNET PROTOCOL (TCP/IP) item, then click PROPERTIES.
3.  Click the ADVANCED button.
4.  Select the WINS tab and make sure the setting for ENABLE NetBios Over TCP/IP is selected.

Give these two approaches a try and let me know.
Good luck!
0
 
JohnItemAuthor Commented:
I've taken the two steps above, but I'm afraid the message remains.

Exactly it is:
___________________________________
Microsoft SQL Server ODBC Driver Version 03.81.9002

Running connectivity tests...

Attempting connection
[Microsoft][ODBC SQL Server Driver][Named Pipes]SQL Server does not exist or access denied.

TESTS FAILED!
___________________________________

Thank you for the continued support.
0
 
gclay1Commented:
Hi again...
Have you checked the properties of your ODBC connection to make sure your are using TCP/IP instead of named pipes?

1.  Highlight the connection, click CONFIGURE, then NEXT.
2.  Click the CLIENT CONFIGURATION button.  Make sure it is set to TCP/IP.
3.  Also try changing both Server Name and Server Alias to the IP address, instead of the name.

I'm still thinking...
0
Improve Your Query Performance Tuning

In this FREE six-day email course, you'll learn from Janis Griffin, Database Performance Evangelist. She'll teach 12 steps that you can use to optimize your queries as much as possible and see measurable results in your work. Get started today!

 
gclay1Commented:
By the way, if changing the alias to IP address does not work, try REMOVING the alias in the Client Configuration section...
0
 
JohnItemAuthor Commented:
My apologies for the delay... User is on holidays and I do not have access to PC until his return.
Guess it's not as urgent as they had me believe.

I will test modifications as soon as possible and get back to you.  I will also increase the points to 190 (all I have so far).
0
 
JohnItemAuthor Commented:
Thank you gclay1.

Your first post did the trick.  I used the Hosts file, which I would never have considered.

However, the reason it failed (see my second post) the first time is because the ODBC data source WAS set to TCP/IP.  
In actuality it works when set to named pipes.  Not sure why.

Client is happy as am I.  I've increased points to 250.

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.