2010-03-23 19 views
4

J'essaie de me connecter à un serveur AS400 en utilisant les classes .net. J'ai ajouté une référence à IBM.Data.DB.iSeries et j'utilise le code suivant:
var conn = new iDB2Connection ("DataSource = 111.111.111.111; UserID = xxx;)
conn.Open();Erreur lors de la connexion à AS400 (ISeries)

Mais je reçois les exceptions suivantes
En cours d'exécution 64 bits: «Le fournisseur ne peut pas exécuter en mode 64 bits».
Exécution 32 bits: Une exception inattendue s'est produite. Type: System.DllNotFoundException, Message: Impossible de charger la DLL 'cwbdc.dll': Le système d'exploitation ne peut pas s'exécuter. (Exception de HRESULT: 0x800700B6).

J'ai désinstallé l'accès au client et l'ai réinstallé. Le fichier cwbdc.dll existe dans system32 et syswow64. Je n'ai aucun problème pour me connecter à l'AS400 si j'utilise odbc. Je lance une version 64 bits de Windows 7.
Des idées?

/Jimmy

+0

+1 pour m'avoir aidé à comprendre mon problème en demandant d'abord. – David

Répondre

5

Il semble que le pilote que vous utilisez ne sont pas pris en charge sur les systèmes 64 bits. Dans les propriétés de votre projet dans l'onglet Générer, définissez Target Platform sur x86 au lieu de Any CPU.

+0

Lors de la définition de x86 je reçois l'autre message d'erreur: "Une exception inattendue s'est produite Type: System.DllNotFoundException, Message: Impossible de charger la DLL 'cwbdc.dll': Le système d'exploitation ne peut pas s'exécuter (Exception de HRESULT: 0x800700B6). " –

+1

+1 - Je recevais la même erreur, trouvé votre réponse et cela a fonctionné. Je vous remercie! – David

+0

J'ai eu un problème similaire et le remplacement de Visual C++ 2008 Redistributable avec son [SP1] (http://www.microsoft.com/en-us/download/details.aspx?id=5582) l'a résolu. (Indice: http://stackoverflow.com/a/3412380/908336) –