Database
 sql >> Base de Dados >  >> RDS >> Database

Conectando .NET no Linux a uma fonte de dados ODBC


Este blog descreve como obter uma conexão ODBC do .NET no Linux. Você pode usar o .NET com qualquer driver ODBC da Easysoft que esteja disponível na plataforma Linux. Este driver de exemplo que este blog usa é o Easysoft ODBC-JDBC Gateway, que converte entre ODBC e JDBC, permitindo que você trabalhe com dados Java de .NET.
  1. Se ainda não o fez, instale o .NET de acordo com as instruções da Microsoft.
  2. Certifique-se de que o caminho da biblioteca da sua máquina .NET inclua a pasta unixODBC/lib. Se você estiver usando o gerenciador de driver unixODBC incluído em uma distribuição de driver Easysoft, você também precisará adicionar um link simbólico para libodbc.so.2 . Por exemplo:
    cd /usr/local/easysoft/unixODBC/lib
    ln -s libodbc.so.1 libodbc.so.2
  3. Em seguida, instale a parte ODBC do .NET:
    dotnet add package System.Data.Odbc --version 4.7.0
  4. Crie um novo programa .NET. Por exemplo:
    dotnet new console --output sample1
  5. Edite Program.cs e 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;
                }
            }
        }
    }

    Na linha:
    OdbcConnection DbConnection = new OdbcConnection("DSN=OJG");

    Substitua OJG com o nome de sua fonte de dados ODBC conforme definido no odbc.ini Arquivo.
  6. Para executar a amostra:
    dotnet run --project sample1