sql >> Base de Datos >  >> RDS >> Database

Conexión de .NET en Linux a una fuente de datos ODBC

Este blog describe cómo obtener una conexión ODBC desde .NET en Linux. Puede usar .NET con cualquier controlador ODBC de Easysoft que esté disponible en la plataforma Linux. Este controlador de ejemplo que utiliza este blog es Easysoft ODBC-JDBC Gateway, que convierte entre ODBC y JDBC, lo que le permite trabajar con datos Java desde .NET.

  1. Si aún no lo ha hecho, instale .NET según las instrucciones de Microsoft.
  2. Asegúrese de que la ruta de la biblioteca de su máquina .NET incluya la carpeta unixODBC/lib. Si está utilizando el administrador de controladores unixODBC que se incluye en una distribución de controladores de Easysoft, también deberá agregar un enlace simbólico para libodbc.so.2 . Por ejemplo:
    cd /usr/local/easysoft/unixODBC/lib
    ln -s libodbc.so.1 libodbc.so.2
  3. A continuación, instale la parte ODBC de .NET:
    dotnet add package System.Data.Odbc --version 4.7.0
  4. Cree un nuevo programa .NET. Por ejemplo:
    dotnet new console --output sample1
  5. Edite Program.cs y use algo como:
    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;
                }
            }
        }
    }

    En la línea:

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

    Reemplazar OJG con el nombre de su fuente de datos ODBC como se define en el odbc.ini archivo.

  6. Para ejecutar la muestra:
    dotnet run --project sample1