Blog này mô tả cách lấy kết nối ODBC từ .NET trên Linux. Bạn có thể sử dụng .NET với bất kỳ trình điều khiển Easysoft ODBC nào có sẵn trên nền tảng Linux. Trình điều khiển mẫu này mà blog này sử dụng là Easysoft ODBC-JDBC Gateway, chuyển đổi giữa ODBC và JDBC, cho phép bạn làm việc với dữ liệu Java từ .NET.
- Nếu bạn chưa làm như vậy, hãy cài đặt .NET theo hướng dẫn của Microsoft.
- Đảm bảo rằng đường dẫn thư viện của máy .NET của bạn bao gồm thư mục unixODBC / lib. Nếu bạn đang sử dụng Trình quản lý trình điều khiển unixODBC được bao gồm trong bản phân phối trình điều khiển Easysoft, bạn cũng sẽ cần thêm một liên kết tượng trưng cho
libodbc.so.2
. Ví dụ:cd /usr/local/easysoft/unixODBC/lib ln -s libodbc.so.1 libodbc.so.2
- Tiếp theo, cài đặt phần ODBC của .NET:
dotnet add package System.Data.Odbc --version 4.7.0
- Tạo một chương trình .NET mới. Ví dụ:
dotnet new console --output sample1
- Chỉnh sửa Program.cs và sử dụng một cái gì đó như:
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; } } } }
Trong dòng:
OdbcConnection DbConnection = new OdbcConnection("DSN=OJG");
Thay thế
OJG
với tên nguồn dữ liệu ODBC của bạn như được xác định trongodbc.ini
tệp. - Để chạy mẫu:
dotnet run --project sample1