Ce blog décrit comment obtenir une connexion ODBC à partir de .NET sous Linux. Vous pouvez utiliser .NET avec n'importe quel pilote ODBC Easysoft disponible sur la plate-forme Linux. Cet exemple de pilote utilisé par ce blog est la passerelle Easysoft ODBC-JDBC, qui convertit entre ODBC et JDBC, vous permettant de travailler avec des données Java à partir de .NET.
- Si vous ne l'avez pas déjà fait, installez .NET conformément aux instructions de Microsoft.
- Assurez-vous que le chemin d'accès à la bibliothèque de votre machine .NET inclut le dossier unixODBC/lib. Si vous utilisez le gestionnaire de pilotes unixODBC inclus dans une distribution de pilotes Easysoft, vous devrez également ajouter un lien symbolique pour
libodbc.so.2
. Par exemple :cd /usr/local/easysoft/unixODBC/lib ln -s libodbc.so.1 libodbc.so.2
- Ensuite, installez la partie ODBC de .NET :
dotnet add package System.Data.Odbc --version 4.7.0
- Créez un nouveau programme .NET. Par exemple :
dotnet new console --output sample1
- Modifiez Program.cs et utilisez quelque chose comme :
using System; using System.Data.Odbc; namespace EasysoftODBCJDBCSample { class Program { static void Main(string[] args) { try { OdbcConnection DbConnection = new OdbcConnection("DSN=OJG"); DbConnection.Open(); OdbcCommand DbCommand = DbConnection.CreateCommand(); DbCommand.CommandText = "select * from MyTable"; OdbcDataReader DbReader = DbCommand.ExecuteReader(); while( DbReader.Read()) { for (int i = 0; i < DbReader.FieldCount; i++) { if (DbReader.IsDBNull(i)) { Console.Write("NULL,"); } else { Console.Write(DbReader.GetValue(i).ToString() + ","); } } Console.WriteLine(); } Console.Write("Data Finished"); DbReader.Close(); DbCommand.Dispose(); DbConnection.Close(); } catch (OdbcException ex) { Console.WriteLine(ex.Message); return; } } } }
Dans la ligne :
OdbcConnection DbConnection = new OdbcConnection("DSN=OJG");
Remplacer
OJG
avec le nom de votre source de données ODBC tel que défini dans leodbc.ini
fichier. - Pour exécuter l'exemple :
dotnet run --project sample1