Sie sind auf Seite 1von 12

If you're working with an x64 server, keep in mind that there are different ODBC settings for x86

and
x64 applications. The "Data Sources (ODBC)" tool in the Administrative Tools list takes you to the
x64 version. To view/edit the x86 ODBC settings, you'll need to run that version of the tool manually:

%windir%\SysWOW64\odbcad32.exe (%windir% is usually C:\Windows)


When your app runs as x64, it will use the x64 data sources, and when it runs as x86, it will use
those data sources instead.

#include <windows.h>
#include <stdio.h>
#include <odbcinst.h>

void ShowErrors ()
{
WORD iError = 1;
DWORD pfErrorCode;
char lpszErrorMsg[301];
WORD cbErrorMsgMax = 300;
RETCODE rc;

while (SQL_NO_DATA != (rc = SQLInstallerError(


iError ++,
& pfErrorCode,
lpszErrorMsg,
cbErrorMsgMax,
NULL )))
if (rc == SQL_SUCCESS || rc == SQL_SUCCESS_WITH_INFO)
printf( "%s\n", lpszErrorMsg);

printf ("\n");
}

void main ()
{
char * szDriver = "SQL
Server\0Driver=sqlsrv32.dll\0Setup=sqlsrv32.dll\0\0";
char * szPathIn = "c:\\winnt\\system32";
char szPathOut[301];
WORD cbPathOutMax = 300;
WORD cbPathOut;
DWORD dwUsageCount;

printf ("Calling SQLInstallDriverEx ...\n");


if (!SQLInstallDriverEx(
szDriver,
szPathIn,
szPathOut,
cbPathOutMax,
& cbPathOut,
ODBC_INSTALL_COMPLETE,
& dwUsageCount))
ShowErrors ();
printf ("Calling SQLConfigDriver ...\n");
if (!SQLConfigDriver(
NULL,
ODBC_INSTALL_DRIVER,
"Microsoft Access - test 4",
"",
szPathOut,
cbPathOutMax,
& cbPathOut))
ShowErrors ();
}
Dev Articles Community Forums > Databases > Microsoft SQL Server

Data source name not found and no default driver specified


Discuss Data source name not found and no default driver specified in the Microsoft SQL Server
forum on Dev Articles.
Data source name not found and no default driver specified Microsoft SQL Server forum discussing this
extremely popular DBMS for the Windows operating system. Learn to optimize your SQL Server database for
optimum application performance.

Add This Thread Del.icio.us Digg Google Spurl Blink Furl Simpy Y!
To: MyWeb

« Previous Thread | Next Thread » Thread Tools Search this Thread Display Modes

Dev Articles Community Forums Sponsor:

#1
May 21st, 2004, 04:20 PM

kongslide Join Date: May 2004


Posts: 2
Registered User Time spent in forums: < 1 sec
Reputation Power: 0

Data source name not found and no default driver specified

Help!!
I can connect fine to my Db from my test server at home but when I move it to my server
(my web server and SQL server are on the same machine) I get the following error:

Microsoft OLE DB Provider for Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver
specified

Can someone please lend a hand. Thanks!

#2
May 22nd, 2004, 03:23 AM

stumpy Join Date: Aug 2002


Posts: 2,056
May contain nuts. Time spent in forums: 5 h 44 m 22 sec
Reputation Power: 0

How are you connecting to the DB on the production server? DSN, DSN-less? If DSN, is the
DSN setup correctly on the live server? If DSN-less, is the driver present? Does the live DB
server have the same name, db??

#3
May 22nd, 2004, 01:44 PM

kongslide Join Date: May 2004


Posts: 2
Registered User Time spent in forums: < 1 sec
Reputation Power: 0

it's connecting to a server DNS.

#4
August 18th, 2004, 08:00 AM

dave_mc25 Join Date: Aug 2004


Posts: 1
Registered User Time spent in forums: < 1 sec
Reputation Power: 0

fix:

Delete the USER data source name and define it as a SYSTEM data source name.

In Windows 2000:
-> Start -> Settings -> Control Panel -> Administrative Tools ->
Data Sources (ODBC):
- User DSN : delete the specified User DSN
- System DSN : create a new System DSN

#5
September 21st, 2005, 01:23 PM

nyoung Join Date: Sep 2005


Posts: 1
Registered User Time spent in forums: 8 m 7 sec
Reputation Power: 0

Data source name not found and no default driver specified

Hi there.
What's the fix when using a non-DSN connection?

Thanks in advance,
another Newbie

#6
October 9th, 2005, 07:38 PM

stumpy Join Date: Aug 2002


Posts: 2,056
May contain nuts. Time spent in forums: 5 h 44 m 22 sec
Reputation Power: 0

Sounds like you have a bad connection string - show us what you've got and we should be
able to help you.
Alternatively, this resource should be able to get you going:
http://www.carlprothman.net/Default.aspx?tabid=81

#7
June 17th, 2008, 09:05 AM

jlgdeveloper Join Date: Jun 2008


Posts: 1
Registered User Time spent in forums: 9 m 7 sec
Reputation Power: 0

[Microsoft][ODBC Driver Manager] Data source name not found and no default driver spe

[Microsoft][ODBC Driver Manager] Data source name not found and no default driver
specified

I had this error and want to let you know how it was resolved.

First, this was an ASP web application using a vb 6.0 dll to get data from a sql server 2005
database on a 64 bit windows server 2008 enterprise (vista like) server. I could only get
the dll to work in component services as opposed to simply registering it.

It all worked fine upon setup, but after four windows updates one night, the error above
was posted in the event viewer, and the web app crashed.

Here is the resolution:

In a 64 bit windows server operating system, there are TWO odbc managers. When you
pull up the usual menu for the odbc / dsn system, it is for the 64 bit odbc manager, and 32
bit applications (vb 6.0) will not work using these dsn's.
This is where the 32 bit odbc manager is:

C:\Windows\SysWOW64\odbcad32.exe

I hope you do not have to go through what I and three Microsoft Support engineers had to
to figure this out.

Jonathan

#8
March 11th, 2009, 03:47 PM

KavitaK Join Date: Mar 2009


Posts: 1
Registered User Time spent in forums: 2 m 33 sec
Reputation Power: 0

What exactly you did to resolve this problem ?

Hi,

What exactly you did to solve this problem? I am facing the same problem on Windows
Server 2008 64-bit and SQL Server 2008.

Quote:

Originally Posted by jlgdeveloper


[Microsoft][ODBC Driver Manager] Data source name not found and no default driver
specified

I had this error and want to let you know how it was resolved.

First, this was an ASP web application using a vb 6.0 dll to get data from a sql server
2005 database on a 64 bit windows server 2008 enterprise (vista like) server. I could
only get the dll to work in component services as opposed to simply registering it.

It all worked fine upon setup, but after four windows updates one night, the error above
was posted in the event viewer, and the web app crashed.

Here is the resolution:

In a 64 bit windows server operating system, there are TWO odbc managers. When you
pull up the usual menu for the odbc / dsn system, it is for the 64 bit odbc manager, and
32 bit applications (vb 6.0) will not work using these dsn's.

This is where the 32 bit odbc manager is:


C:\Windows\SysWOW64\odbcad32.exe

I hope you do not have to go through what I and three Microsoft Support engineers had
to to figure this out.

Jonathan

#9
April 9th, 2009, 08:00 AM

Scudder Join Date: Apr 2009


Posts: 1
Registered User Time spent in forums: 6 m 22 sec
Reputation Power: 0

Must Make 2 entries

Reply #7 from Jonathan worked for me ... thx Jonathan!

There are 2 versions of ODBC to worry about on 64-bit machines: the 32-bit version and
the 64-bit version. So you have to Add or Change in 2 places to cover both types. Start -
Admin Tools - Data Sources gets you to the 64-bit version; Start - Run -
C:\Windows\SysWOW64\odbcad32.exe gets you to the 32-bit version. Do all your
adds/deletes/changes in both.

Quote:

Originally Posted by KavitaK


Hi,

What exactly you did to solve this problem? I am facing the same problem on Windows
Server 2008 64-bit and SQL Server 2008.

#10
July 28th, 2009, 10:36 PM

JeffrBrown Join Date: Jul 2009


Posts: 1
Registered User Time spent in forums: 5 m 53 sec
Reputation Power: 0

This same problem happened to me with VS2005 and a third party ODBC database.
Essentially the same symptoms. I could preview data, but when I tried to run the app, it
failed to access the data. The reason is that Vs2005 is a 32 bit app, but my app was being
compiled as a 64bit app. So they used different ODBC managers and DSN's. When I
changed the target CPU in the compile options to x86 (32bit), voila, problem gone!
Comments on this post
StingRayYellow agrees: great call

#11
January 12th, 2010, 01:34 AM

contme1978 Join Date: Jan 2010


Posts: 1
Registered User Time spent in forums: 19 m 13 sec
Reputation Power: 0

ERROR [HYT00] [Microsoft][ODBC SQL Server Driver]Timeout expired

My application is in asp.net 2.0 and connect with sql server 2005. my connection string is
DSN=DsnName;Uid=sa;Pwd=pwd;

my development server is 32bit windows 2000 and my production server is 64bit windows
2008. my application running fine in development server but when execute it in production
server, I got the following error.

[Microsoft][ODBC Driver Manager] Data source name not found and no default driver
specified

To solve this I have done following two things is production server,


1) execute
C:\Windows\SysWOW64\odbcad32.exe
create a dsn as "DsnName" in System Dsn.

2) execute
C:\Windows\SysWOW64\odbcad32.exe
create a dsn as "DsnName" in System Dsn.

Now when execute the application in production server Im getting the following error :
ERROR [HYT00] [Microsoft][ODBC SQL Server Driver]Timeout expired

Can anyone help me ??

#12
April 2nd, 2010, 04:10 AM

Join Date: Mar 2010


SNK111 Posts: 14
Registered User Time spent in forums: 3 h 4 m 30 sec
Reputation Power: 0

Connecting to SQL Server database from C#.NET and more...

Check this link EMBEDDING SQL IN C#.NET for details on how to connect to SQL server
database from C#.NET database applications as well as Java database applications. It also
describes how to pass embedded SQL queries, calling stored procedures, pass parameter
etc.

Shahriar Nour Khondokar Shahriar Nour Khondokar[/URL]

#13
April 2nd, 2010, 01:26 PM

Amber Join Date: Mar 2010


Location: US
Lynn Posts: 1
Registered User Time spent in forums: 8 sec
Reputation Power: 0

Software Faqs

Hi there!I'm new here.Good to be here.Want to talk about much more information


regarding programming and development.Would like to learn about jake? That I have come
to find out is almost a link between Cakephp and Joomla? How does these really merge and
supply an impact to web development in php??

#14
April 21st, 2010, 09:37 AM

StingRayYellow Join Date: Mar 2007


Posts: 3
Registered User Time spent in forums: 41 m 27 sec
Reputation Power: 0

Thank You!

Quote:

Originally Posted by JeffrBrown


This same problem happened to me with VS2005 and a third party ODBC database.
Essentially the same symptoms. I could preview data, but when I tried to run the app, it
failed to access the data. The reason is that Vs2005 is a 32 bit app, but my app was
being compiled as a 64bit app. So they used different ODBC managers and DSN's. When
I changed the target CPU in the compile options to x86 (32bit), voila, problem gone!
Jeff,
Great Call! I had a similar situation where the vendor did not support 64 bit ODBC drivers. I
compiled to x86, and it used my 32-bit driver.

#15
January 12th, 2011, 10:56 AM

ullevi83 Join Date: Jan 2011


Posts: 1
Registered User Time spent in forums: 21 m 37 sec
Reputation Power: 0

Quote:

Originally Posted by StingRayYellow


Jeff,
Great Call! I had a similar situation where the vendor did not support 64 bit ODBC
drivers. I compiled to x86, and it used my 32-bit driver.

Guys my first post but hopefully it will help someone. I migrated from 2k3 Server to 2k8
Server and IIS 6 to IIS 7 running a couple of access databases with classic asp. I ran into
the "Data Source name not found and no default driver specified" error.

What worked for us was to change the advanced settings for the application pool in IIS7 to
enable 32bit apps to true.

Hope this helps someone.

#16
March 23rd, 2011, 10:44 PM

benow Join Date: Mar 2011


Posts: 1
Registered User Time spent in forums: 1 m 24 sec
Reputation Power: 0

Thanks Jonathan

Just registered to say thanks to Jonathan. Fixed it for me!


#17
October 17th, 2011, 06:21 AM

roeseler Join Date: Oct 2011


Posts: 2
Registered User Time spent in forums: 22 m 22 sec
Reputation Power: 0

change the advanced settings for the application pool in IIS7 to enable 32bit apps

Thanks so much for your post, ullevi83! I had exactly the same problem!!

Cheers!

Quote:

Originally Posted by ullevi83


Guys my first post but hopefully it will help someone. I migrated from 2k3 Server to 2k8
Server and IIS 6 to IIS 7 running a couple of access databases with classic asp. I ran into
the "Data Source name not found and no default driver specified" error.

What worked for us was to change the advanced settings for the application pool in IIS7
to enable 32bit apps to true.

Hope this helps someone.

#18
October 17th, 2011, 06:22 AM

roeseler Join Date: Oct 2011


Posts: 2
Registered User Time spent in forums: 22 m 22 sec
Reputation Power: 0

Thanks so much for your post, ullevi83! I had exactly the same problem!!

Cheers!

#19
November 10th, 2011, 09:39 PM
David465 Join Date: Nov 2011
Posts: 1
Registered User Time spent in forums: 4 m 30 sec
Reputation Power: 0

Hi there.

What's the fix when using a non-DSN connection?

Thanks in advance,
another Newbie

Das könnte Ihnen auch gefallen