Този блог описва как да получите ODBC връзка от .NET на Linux. Можете да използвате .NET с всеки Easysoft ODBC драйвер, който е наличен на платформата Linux. Този примерен драйвер, който този блог използва, е Easysoft ODBC-JDBC Gateway, който преобразува между ODBC и JDBC, което ви позволява да работите с Java данни от .NET.
- Ако още не сте го направили, инсталирайте .NET според инструкциите на Microsoft.
- Уверете се, че пътят към библиотеката на вашата .NET машина включва папката unixODBC/lib. Ако използвате unixODBC Driver Manager, който е включен в дистрибуцията на драйвери на Easysoft, ще трябва да добавите и символна връзка за
libodbc.so.2
. Например:cd /usr/local/easysoft/unixODBC/lib ln -s libodbc.so.1 libodbc.so.2
- След това инсталирайте ODBC частта на .NET:
dotnet add package System.Data.Odbc --version 4.7.0
- Създайте нова .NET програма. Например:
dotnet new console --output sample1
- Редактирайте Program.cs и използвайте нещо като:
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; } } } }
В реда:
OdbcConnection DbConnection = new OdbcConnection("DSN=OJG");
Заменете
OJG
с името на вашия източник на ODBC данни, както е дефинирано вodbc.ini
файл. - За да стартирате пробата:
dotnet run --project sample1