I have an application that talks to a SQL backend using an ODBC DSN connection. It works fine when running on a 32bit machine but fails in the 64bit environment. The DSN is setup properly on the 64bit box and the Test Connection returns sucess. However when my application tries to use the DSN to connect to the database I recieve the following error.
IM002 - Data source name not found and no default driver specified.
The data source name does exist, it's in the ODBC.INI and in registry. As mentioned above the Test Connection succeeds in the ODBC Administrator so logic would dictate that it's setup correctly.
Any help would be appreciated.
Is your application 64-bit or 32-bit?
One possibility is that the Test Connection dialog uses 64-bit version of the driver and yoru application looks for a 32-bit version (or vice-versa).
|||Yeah, I thought of that too but both my application and MDAC are 32 bit.|||DSN’s for 32bit and 64bit are stored separately in registry, those in HKLM/HKCR are for 64bit, 32bit DSN’s are stored in WOW registry.
You need to use the 32bit odbc admin tool (from windows\syswow64) to create 32bit DSN’s for your 32bit application.
|||thank you so muchhhhhhh|||Thank you, Thank you, Thank you, Thank you!|||Question - after created System DSN using 32bit odbc, I created a linked server using the DSN,
sp_addlinkedserver 'MyLinkedSrv', ' ', 'MSDASQL', 'MyDSN'
and run a open-query in the SQL Management Studio to the linked server, i get error returns, - The OLE DB provider "MSDASQL" has not been registered. This error is because of SQL Native Client but when I created a LinkedServer with SQLNCLI, I get an error - OLE DB provider "SQLNCLI" for linked server "MAMSLS1" returned message "Login timeout expired".
OLE DB provider "SQLNCLI" for linked server "MAMSLS1" returned message "An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections.".
Msg 53, Level 16, State 1, Line 0
Named Pipes Provider: Could not open a connection to SQL Server [53].
I am thinking because of the SQL management studio is 64bit, it won't use 32bit DSN.. Is there any way to run a query against to the linked server?
My system is Win2003 Enterprise 64bit running on Itenium and SQL 2005 server 64bit Enterprise edition. From this SQL server, I am trying to make a LinkedServer to InterBase database system. -- No problem with 32bit SQL 2005 (development) but this 64bit (production). Any insight would be appreciated.
Regards,
Sunny
|||If you are setting up a linked server a connection is made from one SQL Server to another. If the first SQL Server is 64-bit then you need to create a 64-bit DSN. If it is 32-bit you need a 32-bit DSN.
|||did anyone succeed in this on this with a sql2005 EE x64 sp1 to sql2000sp3a ?
Or it states the is an NCLI problem
- connectiontimeout (again and again and ......)
- OLE DB provider "SQLNCLI" for linked server "MySQl2000sp3a_03" returned message "Unspecified error".
OLE DB provider "SQLNCLI" for linked server "MySQl2000sp3a_03" returned message "The stored procedure required to complete this operation could not be found on the server. Please contact your system administrator.".
Msg 7311, Level 16, State 2, Line 3
Cannot obtain the schema rowset "DBSCHEMA_TABLES_INFO" for OLE DB provider "SQLNCLI" for linked server "MySQl2000sp3a_03". The provider supports the interface, but returns a failure code when it is used.
or it says :
Msg 7403, Level 16, State 1, Line 3
The OLE DB provider "MSDASQL" has not been registered.
None of the folowing definitions work :
|||I just discouvered this thread with a KB link that may do the trick : http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=62887&SiteID=1
kb906954 did the trick
I'm having similar issues
There is no equivalent of MSDASQL within 64 bit SQL, and from what i've read SQL Native client is meant to be used.
However I can't get this to see the 64 bit IBM ISeries ODBC DSN that I've configured within the 64bit ODBC setup
Anybody else having these problems?
|||YES !!!
And the solution is: Execute odbccad32.exe in WOW directory. That's it !
www.mcfly.dj
|||Hi,
I'm running SQL 2005 64 bit on the windows 2003 (64 bit box)
I'm trying to create a linked server using an ODBC driver which has a corresponding DSN
Using odbccad32.exe will work if you are using a 32 bit install of SQL 2005 on Windows 2003 (64bit)
but this doesn't work with a 64 bit instance of SQL 2005 as there is no MSDASQL provider to work with.
Has anybody managed to get the SQL native client provider SQLNCLI
in 64 bit SQL 2005 connected through a DSN (32bit or 64bit)?
Thanks, Richard
|||
Richard...see the following thread.
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1239339&SiteID=1
|||hey guys,
i have C# windows application which calles ODBC 32 bit provider. it is working very well with the 32 bit operating systems. My application is compiled targetting to any operating system.
When i install our application on the 64 bit operating systems, i am unable to connect to the 32 ODBC. Any one have idea how to call 32 bit ODBC from the 64 bit applications on the 64 bit operating systems
Please help in this.
regards
No comments:
Post a Comment