sql >> Database teknologi >  >> RDS >> Database

Tilslutning af .NET på Linux til en ODBC-datakilde

Denne blog beskriver, hvordan man får en ODBC-forbindelse fra .NET på Linux. Du kan bruge .NET med enhver Easysoft ODBC-driver, der er tilgængelig på Linux-platformen. Dette eksempel på driver, som denne blog bruger, er Easysoft ODBC-JDBC Gateway, som konverterer mellem ODBC og JDBC, så du kan arbejde med Java-data fra .NET.

  1. Hvis du ikke allerede har gjort det, skal du installere .NET i henhold til Microsofts instruktioner.
  2. Sørg for, at din .NET-maskines bibliotekssti inkluderer unixODBC/lib-mappen. Hvis du bruger unixODBC Driver Manager, der er inkluderet i en Easysoft driverdistribution, skal du også tilføje et symbolsk link til libodbc.so.2 . For eksempel:
    cd /usr/local/easysoft/unixODBC/lib
    ln -s libodbc.so.1 libodbc.so.2
  3. Næste, installer ODBC-delen af ​​.NET:
    dotnet add package System.Data.Odbc --version 4.7.0
  4. Opret et nyt .NET-program. For eksempel:
    dotnet new console --output sample1
  5. Rediger Program.cs, og brug noget som:
    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;
                }
            }
        }
    }

    I rækken:

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

    Erstat OJG med navnet på din ODBC-datakilde som defineret i odbc.ini fil.

  6. For at køre prøven:
    dotnet run --project sample1

  1. Undgå dubletter i INSERT INTO SELECT-forespørgslen i SQL Server

  2. Sådan ændres en kolonne fra Null til Ikke Null i SQL Server

  3. Generer sql med underforespørgsel som en kolonne i select-sætning ved hjælp af SQLAlchemy

  4. Sådan fungerer SQL Server DIFFERENCE()-funktionen