2013-04-12 42 views
0

我在vb.net中有一個桌面應用程序,它在Windows XP中運行良好,但在Windows 7 64位安裝應用程序後無法運行。 32位ODBC確實顯示了用於DB2連接(版本9.7)的驅動程序,但64位版本的ODBC不顯示它。我在Windows XP中使用System DSN連接到DB2,並在Windows 7中嘗試了相同的操作。如何識別32位odbc從Windows 7中的.net應用程序調用它

因此,我必須明確提供代碼本身的信息來調用它的32位版本。需要幫忙。請讓我知道是否在應用程序中進行了一些更改,而不僅僅是調用。

阿斗!

+0

是否意味着我應該將應用程序上的平臺更改爲x86類型,然後嘗試運行它。它會默認指向32位ODBC版本。因爲64位版本的驅動程序似乎不可用。 我也讀的地方,爲了調用32位ODBC應該像如下...... \t 昏暗sConStr作爲字符串 sConStr = 「DSN = MY400; UID = HARNER; PWD = SECRET」; Dim sConStr as String sConStr =「驅動程序=客戶端訪問ODBC驅動程序(32位);」 sConStr = sConStr&「System = 192.168.1.25; UID = HARNER; PWD = SECRET;」 – Ashu

回答

2

您不能在同一個進程中混合使用32位代碼和64位代碼。

如果要使用32位ODBC,則必須將進程標記爲僅x86。

+0

這是正確的。我可能會補充說,可以對同一個目標運行32位和64位驅動程序,但必須將它們添加兩次;一個在32位驅動程序中,另一個在64位中。如果您在32位模式下運行某些應用程序,而在64位中運行某些應用程序,這可能很有用。 – Allman

+0

是否意味着我應該將應用程序上的平臺更改爲x86類型,然後嘗試運行它。它會默認指向32位ODBC版本。因爲64位版本的驅動程序似乎不可用。 – Ashu

+0

@Ashu:您的程序將始終使用ODBC運行的相同位數,因爲 – SLaks

相關問題