VB6 connection string to ids 11.5 64bit failing
Posted in 2013
A user on 64-bit Windows 7 with 64-bit IDS 11.5 created a 64-bit Informix ODBC DSN successfully, but VB6 failed with "data source name not found and no default driver specified" (error 80004005). Respondents explained that VB6 is a 32-bit application running under WOW64, so it can only see 32-bit drivers and DSNs created with %windir%\\\\sysWOW64\\\\odbcad32.exe; the 64-bit server is fine since cross-architecture TCP connections are supported. One suggestion was recompiling as 64-bit in Visual Studio with an ADO reference. The poster confirmed that creating a 32-bit connection fixed it.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: Connectivity: ODBC / JDBC / .NET, Server Administration
Hi I have previously successfully connected VB6 to and IDS 32 bit databases. I am now on a 64 bit machine and have IDS 11.5 on this. I created a ODBC connection with success using the "IBM INORMIX ODBC DRIVER (64bit). However i cannot connect using VB6 , please see the connection string below. ======================================================= DbaseConn.Open "Dsn='drfinformix65';Driver={IBM INFORMIX ODBC DRIVER (64-bit)};Host=ADMIN-PC;Server=ol_ids_1150_1;Service=9088;Protocol=olsoctcp;Data base=drf;Uid=informix;Pwd=xxxxxx;" ========================================================================== I am using windows 7 professional 64 bit. Thanks in advance B Singh
And the error is...? On Tue, Oct 15, 2013 at 4:58 PM, BALJINDER SINGH <commbtptrade@gmail.com>wrote: > Hi > > I have previously successfully connected VB6 to and IDS 32 bit databases. > I am now on a 64 bit machine and have IDS 11.5 on this. > I created a ODBC connection with success using the "IBM INORMIX ODBC DRIVER > (64bit). > > However i cannot connect using VB6 , please see the connection string > below. > ======================================================= > DbaseConn.Open "Dsn='drfinformix65';Driver={IBM INFORMIX ODBC DRIVER > > (64-bit)};Host=ADMIN-PC;Server=ol_ids_1150_1;Service=9088;Protocol=olsoctcp;Data base=drf;Uid=informix;Pwd=xxxxxx;" > ========================================================================== > > I am using windows 7 professional 64 bit. > Thanks in advance > B Singh > > > > ******************************************************************************* > Forum Note: Use "Reply" to post a response in the discussion forum. > > -- Fernando Nunes Portugal http://informix-technology.blogspot.com My email works... but I don't check it frequently... --089e0158b878e596b004e8ca556a
Please check the ODBC Data Source Administrator tool that you have used= to create the DSN (drfinformix65) is also 64bit. If you have supplied the DSN then you don't need to provide other properties such as Driver=3D etc. (All those information can get from the DSN itself You need to supplement only those information that is not given to DSN)= Data Source Administrator for 32bit and 64bit drivers are different. ODBC Data Source Administrator for 64bit ODBC driver is located at %windir%\\\\system32\\\\odbcad32.exe Example : c:\\\\windows\\\\system32\\\\odbcad32.exe ODBC Data Source Administrator for 32bit ODBC driver is located under W= oW64 (Windows 32-bit on Windows 64-bit) directory. %windir%\\\\sysWOW64\\\\odbcad32.exe Example : c:\\\\windows\\\\sysWOW64\\\\odbcad32.exe Regards, Satyan Advisory Software Engineer R&D - IBM Information Management Division 11200 Lakeview, Lenexa, KS 66219 Tel: 913 599 8792 (T/L: 337-8792) From: "BALJINDER SINGH" <commbtptrade@gmail.com> To: ids@iiug.org, Date: 10/15/2013 10:59 AM Subject: VB6 connection string to ids 11.5 64bit failing [31712] Sent by: ids-bounces@iiug.org Hi I have previously successfully connected VB6 to and IDS 32 bit database= s. I am now on a 64 bit machine and have IDS 11.5 on this. I created a ODBC connection with success using the "IBM INORMIX ODBC DR= IVER (64bit). However i cannot connect using VB6 , please see the connection string below. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D DbaseConn.Open "Dsn=3D'drfinformix65';Driver=3D{IBM INFORMIX ODBC DRIVE= R (64-bit)};Host=3DADMIN-PC;Server=3Dol_ids_1150_1;Service=3D9088;Protoco= l=3Dolsoctcp;Database=3Ddrf;Uid=3Dinformix;Pwd=3Dxxxxxx;" =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D I am using windows 7 professional 64 bit. Thanks in advance B Singh ***********************************************************************= ******** Forum Note: Use "Reply" to post a response in the discussion forum. =
Apologies, the error message is run-time error '-2147467259 (80004005') Microsoft [ODBC driver manager] data source name not found and no default driver specified Note:When i go to control panel:Admin Tools : Data Sources , l can see the DSN within the 'system DSN' tab.
Thanks - but when i go to control panel:Admin Tools : Data Sources , l can see the DSN within the 'system DSN' tab. And the connection is successful. By the way : the error message is run-time error '-2147467259 (80004005') Microsoft [ODBC driver manager] data source name not found and no default driver specified Note:
Are you sure VB or the application you're creating is 64 bit? You probably created a 64 bit DSN using the 64 bit driver. If the application using it is 32 bit, then you should create a 32 bit DSN (using a 32 bit driver) Regards On Tue, Oct 15, 2013 at 7:11 PM, BALJINDER SINGH <commbtptrade@gmail.com>wrote: > Thanks - but when i go to control panel:Admin Tools : Data Sources , l can > see > the DSN within the 'system DSN' tab. And the connection is successful. > > By the way : the error message is > > run-time error '-2147467259 (80004005') > > Microsoft [ODBC driver manager] data source name not found and no default > driver specified > > Note: > > > > ******************************************************************************* > Forum Note: Use "Reply" to post a response in the discussion forum. > > -- Fernando Nunes Portugal http://informix-technology.blogspot.com My email works... but I don't check it frequently... --089e0141a16e414b5604e8cdbf78
Hi To clarify, PC is 64 bit. Informix ids is 64 bit. The driver is 64 bit (IBM informix driver. I am trying to cinnect using VB6 which is installed on the 64 bit machine. Hope this clarifies.
I think you may find this tidbit from the Micro$oft website helpful: The Visual Basic 6.0 family of products are designed to run on 32-bit versions of Microsoft Windows operating systems. When you run any of these programs on a 64-bit version of a Windows operating system, the program runs in the 32-bit layer of the Windows operating system known as Windows on Windows (WOW). This indicates to me that you must install the 32 bit driver and configure a 32 bit DSN for your app. Alternatively, you could install VB .Net. --EEM > -----Original Message----- > From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of > BALJINDER SINGH > Sent: Tuesday, October 15, 2013 4:11 PM > To: ids@iiug.org > Subject: Re: VB6 connection string to ids 11.5 64bit failin [31718] > > Hi > To clarify, PC is 64 bit. Informix ids is 64 bit. The driver is 64 bit > (IBM informix driver. I am trying to cinnect using VB6 which is > installed on the 64 bit machine. > Hope this clarifies. > > > *********************************************************************** > ******** > Forum Note: Use "Reply" to post a response in the discussion forum.
That and this: http://support.microsoft.com/kb/894373/en-us clarifies... VB6 is a 32 bit application. You can run it on 64 bit, but it won't use 64 bit resources like drivers and DSNs. So you need to use a 32bit version of the Informix driver (ODBC) and configure it using the 32 bit version of the ODBC administrator. The engine can be 64 bit as we always supported cross architecture connections (over TCP/IP). Hope this helps. Regards On Tue, Oct 15, 2013 at 10:11 PM, BALJINDER SINGH <commbtptrade@gmail.com>wrote: > Hi > To clarify, PC is 64 bit. Informix ids is 64 bit. The driver is 64 bit (IBM > informix driver. I am trying to cinnect using VB6 which is installed on > the 64 > bit machine. > Hope this clarifies. > > > > ******************************************************************************* > Forum Note: Use "Reply" to post a response in the discussion forum. > > -- Fernando Nunes Portugal http://informix-technology.blogspot.com My email works... but I don't check it frequently... --001a1135e5a44a19da04e8ce59da
Hi I am assuming that you are using VB6 ADO. The old VB6 ADO is supported only on 32bit system. But the same source can be recompiled it on Windows 7 64bit. to use 64 ODBC drivers. For that you may have to use VS 2005 or higher product. If you are using VS 2005 then it may need additional setup to build 64bit application. VS 2010 then no additional setup at VS level. Before starting the compile, you have to do two setup. A) Turn on 64bit mode. B) Add ADO library reference. A) Turn on 64bit ---------------- 1.Start Visual Studio 2.Click New Project, click Visual Basic Projects, 3.When the Project is created by default it is 32bit. 4) Select the configuration manager from Build menu 5) The Active Solution Platform 6) Select New From the new UI comes up select x64 in the first list box The second list box “Copy Setting From” keep the default x32. 7) Click OK for all UIs to come out. 8) Your product is ready to build 64bit application. B) Now you need to Add ADO library reference. --------------------------------------------- 1) From the Solution Explorer Right click on the project 2) Select “Add Reference” from the popup menu. 3) On the COM tab, select Microsoft ActiveX Data Objects 2.6 Library. Click OK to come out. You should now see ADODB listed under References Here is a sample that I just got it worked on Windows 7 64bit By using Informix ODBC 64bit driver. Module Module1 Sub Main() Dim cn As New ADODB.Connection() cn.ConnectionString = "dsn=mydsn1; User ID=user1; Password=xxxx" cn.Open() cn.Close() End Sub End Module Regards, Satyan Advisory Software Engineer R&D - IBM Information Management Division 11200 Lakeview, Lenexa, KS 66219 Tel: 913 599 8792 (T/L: 337-8792) From: "BALJINDER SINGH" <commbtptrade@gmail.com> To: ids@iiug.org, Date: 10/15/2013 04:16 PM Subject: Re: VB6 connection string to ids 11.5 64bit failin [31718] Sent by: ids-bounces@iiug.org Hi To clarify, PC is 64 bit. Informix ids is 64 bit. The driver is 64 bit (IBM informix driver. I am trying to cinnect using VB6 which is installed on the 64 bit machine. Hope this clarifies. ******************************************************************************* Forum Note: Use "Reply" to post a response in the discussion forum.
Hi I am assuming that you are using VB6 ADO. The old VB6 ADO is supported only on 32bit system. But the same source can be recompiled it on Windows 7 64bit. to use 64 ODBC drivers. For that you may have to use VS 2005 or higher product. If it is VS 2005 then it may need additional setup to build 64bit application. Preferably VS 2010 will be a best suit (no additional setup). Before starting the compile you have to do two setup. A) Turn on 64bit B) Add ADO library reference. A) Turn on 64bit 1.Start Visual Studio 2.Click New Project, click Visual Basic Projects, 3.When the Project is created by default it is 32bit. 4) Select the configuration manager from Build menu 5) The Active Solution Platform 6) Select New From the new UI comes up select x64 in the first list box The second list box “Copy Setting From” keep the default x32. 7) Click OK for all UIs to come out. 8) Your product is ready to build 64bit application. B) Now you need to Add ADO library reference. 1) From the Solution Explorer Right click on the project 2) Select "Add Reference" from the popup menu. 3) On the COM tab, select Microsoft ActiveX Data Objects 2.6 Library. Click OK to come out. You should now see ADODB listed under References Here is a sample that I just got it worked on Windows 7 64bit By using Informix ODBC 64bit driver. Module Module1 Sub Main() Dim cn As New ADODB.Connection() cn.ConnectionString = "dsn=mydbname;User ID=user1;Password=xxxxxx" cn.Open() cn.Close() End Sub End Module Regards, Satyan Advisory Software Engineer R&D - IBM Information Management Division 11200 Lakeview, Lenexa, KS 66219 Tel: 913 599 8792 (T/L: 337-8792) From: "BALJINDER SINGH" <commbtptrade@gmail.com> To: ids@iiug.org, Date: 10/15/2013 04:16 PM Subject: Re: VB6 connection string to ids 11.5 64bit failin [31718] Sent by: ids-bounces@iiug.org Hi To clarify, PC is 64 bit. Informix ids is 64 bit. The driver is 64 bit (IBM informix driver. I am trying to cinnect using VB6 which is installed on the 64 bit machine. Hope this clarifies. ******************************************************************************* Forum Note: Use "Reply" to post a response in the discussion forum.
Hi I am assuming that you are using VB6 ADO. The old VB6 ADO is supported only on 32bit system. But the same source can be recompiled it on Windows 7 64bit. to use 64 ODBC drivers. For that you may have to use VS 2005 or higher product. If you are using VS 2005 then it may need additional setup to build 64bit application. VS 2010 then no additional setup at VS level. Before starting the compile, you have to do two setup. A) Turn on 64bit B) Add ADO library reference. A) Turn on 64bit ---------------- 1) Start Visual Studio 2) Click New Project, click Visual Basic Projects, 3) When the Project is created by default it is 32bit. 4) Select the configuration manager from Build menu 5) The Active Solution Platform 6) Select New From the new UI comes up select x64 in the first list box The second list box "Copy Setting From" keep the default x32. 7) Click OK for all UIs to come out. 8) Your product is ready to build 64bit application. B) Now you need to Add ADO library reference. --------------------------------------------- 1) From the Solution Explorer Right click on the project 2) Select “Add Reference” from the popup menu. 3) On the COM tab, select Microsoft ActiveX Data Objects 2.6 Library. Click OK to come out. You should now see ADODB listed under References Here is a sample that I just got it worked on Windows 7 64bit By using Informix ODBC 64bit driver. Module Module1 Sub Main() Dim cn As New ADODB.Connection() cn.ConnectionString = "dsn=mydbname;User ID=user1;Password=xxxx" cn.Open() cn.Close() End Sub End Module Regards, Satyan Advisory Software Engineer R&D - IBM Information Management Division 11200 Lakeview, Lenexa, KS 66219 Tel: 913 599 8792 (T/L: 337-8792) ids-bounces@iiug.org wrote on 10/15/2013 04:11:21 PM: > From: "BALJINDER SINGH" <commbtptrade@gmail.com> > To: ids@iiug.org, > Date: 10/15/2013 04:16 PM > Subject: Re: VB6 connection string to ids 11.5 64bit failin [31718] > Sent by: ids-bounces@iiug.org > > Hi > To clarify, PC is 64 bit. Informix ids is 64 bit. The driver is 64 bit (IBM > informix driver. I am trying to cinnect using VB6 which is installedon the 64 > bit machine. > Hope this clarifies. > > > ******************************************************************************* > Forum Note: Use "Reply" to post a response in the discussion forum. >
I bet on 32 vs 64 bit conversion issue :) On Tue, Oct 15, 2013 at 11:52 PM, Sathyanesh Krishnan <satyan@us.ibm.com>wrote: > > > Hi > > I am assuming that you are using VB6 ADO. > > The old VB6 ADO is supported only on 32bit system. > But the same source can be recompiled it on Windows 7 64bit. > to use 64 ODBC drivers. > For that you may have to use VS 2005 or higher product. > If you are using VS 2005 then it may need additional > setup to build 64bit application. > VS 2010 then no additional setup at VS level. > > Before starting the compile, you have to do two setup. > A) Turn on 64bit mode. > B) Add ADO library reference. > > > A) Turn on 64bit > ---------------- > 1.Start Visual Studio > 2.Click New Project, click Visual Basic Projects, > 3.When the Project is created by default it is 32bit. > 4) Select the configuration manager from Build menu > 5) The Active Solution Platform > 6) Select New > From the new UI comes up select x64 in the first list box > The second list box “Copy Setting From” keep the default x32. > 7) Click OK for all UIs to come out. > 8) Your product is ready to build 64bit application. > > > > B) Now you need to Add ADO library reference. > --------------------------------------------- > 1) From the Solution Explorer Right click on the project > 2) Select “Add Reference” from the popup menu. > 3) On the COM tab, select Microsoft ActiveX Data Objects 2.6 Library. > Click OK to come out. > You should now see ADODB listed under References > > Here is a sample that I just got it worked on Windows 7 64bit > By using Informix ODBC 64bit driver. > > > > Module Module1 > > Sub Main() > Dim cn As New ADODB.Connection() > cn.ConnectionString = > "dsn=mydsn1; User ID=user1; Password=xxxx" > > cn.Open() > cn.Close() > End Sub > > End Module > > > Regards, > Satyan > > Advisory Software Engineer > R&D - IBM Information Management Division > 11200 Lakeview, Lenexa, KS 66219 > Tel: 913 599 8792 (T/L: 337-8792) > > > > > From: "BALJINDER SINGH" <commbtptrade@gmail.com> > To: ids@iiug.org, > Date: 10/15/2013 04:16 PM > Subject: Re: VB6 connection string to ids 11.5 64bit failin [31718] > Sent by: ids-bounces@iiug.org > > > > Hi > To clarify, PC is 64 bit. Informix ids is 64 bit. The driver is 64 bit (IBM > > informix driver. I am trying to cinnect using VB6 which is installed on the > 64 > bit machine. > Hope this clarifies. > > > ******************************************************************************* > > Forum Note: Use "Reply" to post a response in the discussion forum. > > > > ******************************************************************************* > Forum Note: Use "Reply" to post a response in the discussion forum. > > -- Fernando Nunes Portugal http://informix-technology.blogspot.com My email works... but I don't check it frequently... --001a113368761809e704e8cfc014
I am assuming that you are using VB6 ADO. If so I got it worked on my Windows 7 64bit by using Informix ODBC 64bit driver. Dim cn As New ADODB.Connection() cn.ConnectionString = "dsn=mydbname;User ID=user1;Password=xyz" cn.Open() FYI: The old VB6 ADO is supported only on 32bit system. But the same source can be recompiled it on Windows 7 64bit. and 64bit ODBC drivers can be used with that. For that you may have to use VS 2005 or higher. (By default VS 2005 don't have 64bit support, some extra setup is needed to enable 64bit support.) Once you have 64bit enabled with your VS. Before compile you application have to do two setup. A) Turn on 64bit (by default it will be 32bit) B) Add ADO library reference. A) Turn on 64bit ******************** 1) Start Visual Studio 2) Click New Project, click Visual Basic Projects, 3) When the Project is created by default it is 32bit. 4) Select the configuration manager from Build menu 5) The Active Solution Platform 6) Select <New..> 7) Select x64 in the first list box 8) keep the default x32 for "Copy Setting From" (The second list box) 9) Click OK for all UIs to come out. 10) Your product is ready to build 64bit application. B) Now you need to Add ADO library reference. *********************************************************** 1) From the Solution Explorer Right click on the project 2) Select "Add Reference" from the popup menu. 3) On the COM tab, select Microsoft ActiveX Data Objects 2.6 Library. Click OK to come out. You should now see ADODB listed under References You are ready to compile your application and .....
Thanks That resolved the issue. I created a 32 bit connection.