Denne blog beskriver, hvordan man får en ODBC-forbindelse fra .NET på Linux. Du kan bruge .NET med enhver Easysoft ODBC-driver, der er tilgængelig på Linux-platformen. Dette eksempel på driver, som denne blog bruger, er Easysoft ODBC-JDBC Gateway, som konverterer mellem ODBC og JDBC, så du kan arbejde med Java-data fra .NET.
- Hvis du ikke allerede har gjort det, skal du installere .NET i henhold til Microsofts instruktioner.
- Sørg for, at din .NET-maskines bibliotekssti inkluderer unixODBC/lib-mappen. Hvis du bruger unixODBC Driver Manager, der er inkluderet i en Easysoft driverdistribution, skal du også tilføje et symbolsk link til
libodbc.so.2
. For eksempel:cd /usr/local/easysoft/unixODBC/lib ln -s libodbc.so.1 libodbc.so.2
- Næste, installer ODBC-delen af .NET:
dotnet add package System.Data.Odbc --version 4.7.0
- Opret et nyt .NET-program. For eksempel:
dotnet new console --output sample1
- Rediger Program.cs, og brug noget som:
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; } } } }
I rækken:
OdbcConnection DbConnection = new OdbcConnection("DSN=OJG");
Erstat
OJG
med navnet på din ODBC-datakilde som defineret iodbc.ini
fil. - For at køre prøven:
dotnet run --project sample1