Database
 sql >> Datenbank >  >> RDS >> Database

Verbinden von .NET unter Linux mit einer ODBC-Datenquelle

Dieser Blog beschreibt, wie Sie eine ODBC-Verbindung von .NET unter Linux erhalten. Sie können .NET mit jedem Easysoft ODBC-Treiber verwenden, der auf der Linux-Plattform verfügbar ist. Dieser Beispieltreiber, den dieser Blog verwendet, ist das Easysoft ODBC-JDBC Gateway, das zwischen ODBC und JDBC konvertiert und es Ihnen ermöglicht, mit Java-Daten aus .NET zu arbeiten.

  1. Falls noch nicht geschehen, installieren Sie .NET gemäß den Anweisungen von Microsoft.
  2. Stellen Sie sicher, dass der Bibliothekspfad Ihres .NET-Rechners den Ordner unixODBC/lib enthält. Wenn Sie den unixODBC-Treibermanager verwenden, der in einer Easysoft-Treiberverteilung enthalten ist, müssen Sie auch einen symbolischen Link für libodbc.so.2 hinzufügen . Zum Beispiel:
    cd /usr/local/easysoft/unixODBC/lib
    ln -s libodbc.so.1 libodbc.so.2
  3. Installieren Sie als Nächstes den ODBC-Teil von .NET:
    dotnet add package System.Data.Odbc --version 4.7.0
  4. Erstellen Sie ein neues .NET-Programm. Beispiel:
    dotnet new console --output sample1
  5. Bearbeiten Sie Program.cs und verwenden Sie so etwas wie:
    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;
                }
            }
        }
    }

    In der Zeile:

    OdbcConnection DbConnection = new OdbcConnection("DSN=OJG");

    Ersetzen Sie OJG mit dem Namen Ihrer ODBC-Datenquelle wie in der odbc.ini definiert Datei.

  6. So führen Sie das Beispiel aus:
    dotnet run --project sample1