Questo blog descrive come ottenere una connessione ODBC da .NET su Linux. Puoi utilizzare .NET con qualsiasi driver ODBC Easysoft disponibile sulla piattaforma Linux. Questo driver di esempio utilizzato da questo blog è il gateway ODBC-JDBC Easysoft, che converte tra ODBC e JDBC, consentendoti di lavorare con i dati Java da .NET.
- Se non l'hai già fatto, installa .NET secondo le istruzioni di Microsoft.
- Assicurati che il percorso della libreria della tua macchina .NET includa la cartella unixODBC/lib. Se stai usando unixODBC Driver Manager incluso in una distribuzione di driver Easysoft, dovrai anche aggiungere un collegamento simbolico per
libodbc.so.2
. Ad esempio:cd /usr/local/easysoft/unixODBC/lib ln -s libodbc.so.1 libodbc.so.2
- Quindi, installa la parte ODBC di .NET:
dotnet add package System.Data.Odbc --version 4.7.0
- Crea un nuovo programma .NET. Ad esempio:
dotnet new console --output sample1
- Modifica Program.cs e usa qualcosa come:
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; } } } }
Nella riga:
OdbcConnection DbConnection = new OdbcConnection("DSN=OJG");
Sostituisci
OJG
con il nome dell'origine dati ODBC come definito inodbc.ini
file. - Per eseguire l'esempio:
dotnet run --project sample1