Tento blog popisuje, jak získat připojení ODBC z .NET na Linuxu. .NET můžete použít s jakýmkoli ovladačem Easysoft ODBC, který je dostupný na platformě Linux. Tento příklad ovladače, který tento blog používá, je brána Easysoft ODBC-JDBC, která převádí mezi ODBC a JDBC a umožňuje vám pracovat s daty Java z .NET.
- Pokud jste tak ještě neučinili, nainstalujte .NET podle pokynů společnosti Microsoft.
- Ujistěte se, že cesta ke knihovně vašeho počítače .NET obsahuje složku unixODBC/lib. Pokud používáte unixODBC Driver Manager, který je součástí distribuce ovladačů Easysoft, budete také muset přidat symbolický odkaz na
libodbc.so.2
. Například:cd /usr/local/easysoft/unixODBC/lib ln -s libodbc.so.1 libodbc.so.2
- Dále nainstalujte ODBC část .NET:
dotnet add package System.Data.Odbc --version 4.7.0
- Vytvořte nový program .NET. Například:
dotnet new console --output sample1
- Upravte Program.cs a použijte něco jako:
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; } } } }
V řádku:
OdbcConnection DbConnection = new OdbcConnection("DSN=OJG");
Nahraďte
OJG
s názvem vašeho zdroje dat ODBC, jak je definován vodbc.ini
soubor. - Spuštění ukázky:
dotnet run --project sample1