Den här bloggen beskriver hur man får en ODBC-anslutning från .NET på Linux. Du kan använda .NET med alla Easysoft ODBC-drivrutiner som är tillgängliga på Linux-plattformen. Den här drivrutinen som den här bloggen använder är Easysoft ODBC-JDBC Gateway, som konverterar mellan ODBC och JDBC, vilket gör att du kan arbeta med Java-data från .NET.
- Om du inte redan har gjort det, installera .NET enligt Microsofts instruktioner.
- Se till att din .NET-maskins bibliotekssökväg inkluderar mappen unixODBC/lib. Om du använder unixODBC Driver Manager som ingår i en Easysoft-drivrutinsdistribution, måste du också lägga till en symbolisk länk för
libodbc.so.2
. Till exempel:cd /usr/local/easysoft/unixODBC/lib ln -s libodbc.so.1 libodbc.so.2
- Installera sedan ODBC-delen av .NET:
dotnet add package System.Data.Odbc --version 4.7.0
- Skapa ett nytt .NET-program. Till exempel:
dotnet new console --output sample1
- Redigera Program.cs och använd något i stil med:
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 raden:
OdbcConnection DbConnection = new OdbcConnection("DSN=OJG");
Ersätt
OJG
med namnet på din ODBC-datakälla enligt definitionen iodbc.ini
fil. - Så här kör du provet:
dotnet run --project sample1