.net y postgresql en un ambiente win 64 bits
Es posible encontrarnos con la excepción “[Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application” en un proyecto .NET usando Postgresql en una plataforma de 64 bits.
El problema ocurre entre una incopatibilidad entre la aplicación y el driver odbc, uno es de 32bits mientras el otro es de 64 bits. La solución es homologar la arquitectura.
En nuestro caso, la aplicación .NET era de 32 bits, mientras la conexión configurada a través de “Data Sources (ODBC)” en “Administrative Tools” fue de 64 bits (Postgresql Unicode(x64). Una posible solución en este caso, es configurar una nueva configuración ODBC en 32 bits, para lo cuál debemos ejecutar por línea de comandos directamente el “ODBC Data Source Administrador pero 32 bits”.
%windir%\syswow64\odbcad32.exe
Una vez abierto, podremos crear nuestro conexión ODBC con un driver de 32 bits, en nuestro caso, un enlace con PostgreSQL Unicode.
Ahora solo nos falta cambiar el enlace de conexión en nuestra aplicación.
Dim cnnPgsql As New OdbcConnection("DSN=IPVentas")