Bonjour,

J'ai développé une application en C#. Je l'ai déployé via Inno Setup (donc j'ai déployer le débug).

Pour me connecter au lien ODBC j'utilise un fichier de conf et la classe ODBC

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
using System.Data;
using System.Data.Odbc;
voici le bout de code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
        public void connexion_sgbd()
        {
 
 
            //récupération du contenu du fichier de conf
            string driver = ConfigurationManager.AppSettings["sgbd_driver"];
            string protocol = ConfigurationManager.AppSettings["sgbd_protocol"];
            string host = ConfigurationManager.AppSettings["sgbd_host"];
            string port = ConfigurationManager.AppSettings["sgbd_port"];
            string service_name = ConfigurationManager.AppSettings["sgbd_service_name"];
 
            string user = ConfigurationManager.AppSettings["sgbd_user"];
 
            string user_uncrypt = MaFonction.decrypt(user, "lacle");
 
            string pwd = ConfigurationManager.AppSettings["sgbd_pwd"];
            string pwd_uncrypt = MaFonction.decrypt(pwd, "lacle");
 
 
            //hachage des variables
            connection_odbc.ConnectionString =
                "Driver=" + driver + ";" +
                "SERVER=(DESCRIPTION=(ADDRESS=(PROTOCOL=" + protocol + ")(HOST=" + host + ")(PORT=" + port + "))(CONNECT_DATA=(SERVICE_NAME=" + service_name + ")));" +
                "Uid=" + user_uncrypt + ";" +
                "Pwd=" + pwd_uncrypt + ";";
 
            connection_odbc.Open();
        }
J'ai exporté sous 32 bits ça marche normalement

J'ai essayer sous 64 bits ça met l'erreur IM002

Je développe avec visual studio express 2012

Mon pc est en 32 bits

On ma parler sur le plateau que les appels de DLL était différent en 32 ou 46 bits

et on ma donner ce code la
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
if (IntPtr.Size == 4)
{
    // 32-bit
}
else if (IntPtr.Size == 8)
{
    // 64-bit
}
else
{
    // The future is now!
}
Si vous avez la solution je serais reconnaissant !

Bonne journée

Merci pour vos réponses