Sobes.tech
Middle

Como instalar o msodbcsql no Astra?

sobes.tech IA

Resposta da IA

Para instalar msodbcsql17 no Astra Linux (baseado no Debian), são necessários passos semelhantes aos do Debian/Ubuntu.

Adicionar o repositório da Microsoft:

# Baixar e registar as chaves do repositório da Microsoft
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -

# Adicionar o repositório ODBC
# Certifique-se de usar a versão correta do Astra Linux e o ramo correspondente do repositório
# Por exemplo, para Astra Linux Special Edition 1.7 "Oryol" com Debian 10, use buster
# Para Astra Linux Common Edition 2.12 "Smolensk" com Debian 9, use stretch
echo "deb [arch=amd64] https://packages.microsoft.com/debian/10/prod buster main" > /etc/apt/sources.list.d/mssql-release.list

No exemplo acima, o repositório para Debian 10 (buster) é usado, o que corresponde ao Astra Linux Special Edition 1.7. Se tiver outra versão do Astra, substitua debian/10/prod buster pelos valores correspondentes ao seu sistema base Debian.

Atualizar a lista de pacotes:

# Atualizar a lista de pacotes após adicionar o novo repositório
sudo apt-get update

Instalar o driver ODBC:

# Instalar o driver ODBC e dependências
# unixodbc é um gestor de drivers ODBC
sudo apt-get install -y msodbcsql17 unixodbc

Verificação da instalação: Após a instalação, pode verificar a presença do driver com a utilidade odbcinst.

# Verificar os drivers ODBC registados
dbcinst -q -d

O resultado deve conter informações sobre o driver "ODBC Driver 17 for SQL Server".

Configuração DSN (opcional): Para facilitar a ligação, pode configurar um DSN (Data Source Name) nos ficheiros /etc/odbcinst.ini (para o driver) e /etc/odbc.ini (para a fonte de dados).

Exemplo de adição de driver em /etc/odbcinst.ini:

# [ODBC Driver 17 for SQL Server]
# Description=Microsoft ODBC Driver 17 for SQL Server
# Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.so.1.1
# UsageCount=1

O caminho para a biblioteca do driver pode variar dependendo da versão.

Exemplo de adição de fonte de dados em /etc/odbc.ini:

# [YourDataSourceName]
# Driver=ODBC Driver 17 for SQL Server
# Server=your_sql_server_address.database.windows.net,1433
# Database=YourDatabaseName

Substitua YourDataSourceName, your_sql_server_address.database.windows.net,1433 e YourDatabaseName pelos seus valores.

Testar a ligação: Pode usar a utilidade isql (parte do pacote unixodbc-dev, que pode ser necessário instalar) para testar a ligação através do DSN.

# Testar a ligação ao DSN usando isql
# isql YourDataSourceName username password -v

Substitua YourDataSourceName, username e password pelos valores correspondentes.

Pontos importantes para Astra Linux:

  • Certifique-se de ter permissões suficientes para executar comandos com sudo.
  • Verifique a versão da distribuição Debian na qual o seu Astra Linux é baseado para escolher o repositório Microsoft adequado.
  • Se a instalação apresentar erros de dependências, pode ser necessário instalar pacotes adicionais manualmente ou usar outro repositório.
  • No caso de usar uma versão especial do Astra Linux com segurança reforçada, podem ser necessárias configurações ou permissões adicionais no sistema de segurança para que o driver e a ligação funcionem corretamente.