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.
- Se ainda não o fez, instale o .NET de acordo com as instruções da Microsoft.
- 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
- Em seguida, instale a parte ODBC do .NET:
dotnet add package System.Data.Odbc --version 4.7.0
- Crie um novo programa .NET. Por exemplo:
dotnet new console --output sample1
- 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");
SubstituaOJG
com o nome de sua fonte de dados ODBC conforme definido noodbc.ini
Arquivo.
- Para executar a amostra:
dotnet run --project sample1