W tym blogu opisano, jak uzyskać połączenie ODBC z platformy .NET w systemie Linux. Możesz używać platformy .NET z dowolnym sterownikiem Easysoft ODBC, który jest dostępny na platformie Linux. Ten przykładowy sterownik używany w tym blogu to brama Easysoft ODBC-JDBC Gateway, która konwertuje między ODBC i JDBC, umożliwiając pracę z danymi Java z platformy .NET.
- Jeśli jeszcze tego nie zrobiłeś, zainstaluj .NET zgodnie z instrukcjami firmy Microsoft.
- Upewnij się, że ścieżka biblioteki maszyny .NET zawiera folder unixODBC/lib. Jeśli używasz menedżera sterowników unixODBC, który jest dołączony do dystrybucji sterowników Easysoft, będziesz musiał również dodać dowiązanie symboliczne dla
libodbc.so.2
. Na przykład:cd /usr/local/easysoft/unixODBC/lib ln -s libodbc.so.1 libodbc.so.2
- Następnie zainstaluj część ODBC .NET:
dotnet add package System.Data.Odbc --version 4.7.0
- Utwórz nowy program .NET. Na przykład:
dotnet new console --output sample1
- Edytuj Program.cs i użyj czegoś takiego:
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; } } } }
W linii:
OdbcConnection DbConnection = new OdbcConnection("DSN=OJG");
Zastąp
OJG
z nazwą twojego źródła danych ODBC zgodnie z definicją wodbc.ini
plik. - Aby uruchomić przykład:
dotnet run --project sample1