web-dev-qa-db-fra.com

Installation de Microsoft ODBC Pilote à Debian

Donc, mon apt-get install retourne avec E: Unable to locate package msodbcsql (code d'erreur 100). J'essaie d'accéder à une base de données SQL Server avec mon système, et je suis donc suivant Instructions de Microsoft Pour installer leur pilote pour Linux.

J'ai essayé de spécifier la version du paquet: apt-get install -y msodbcsql17 et utiliser le paquet pour Debian 8 et 9. J'ai essayé de confirmer la version du système, car je construisais réellement un conteneur Docker de Debian:stretch-slim -> Python:3.6-slim, et je me penche vers Debian 8, car le numéro de version d'autres images est explicitement 9.

Quelles sont mes options pour essayer d'installer le paquet? Autres moyens ou étapes de dépannage?

Merci d'avance. Je suis nouveau à Linux en général, de sorte que tous les pointeurs soient grandement appréciés!

Éditer

Selon Bash: cat /etc/debian_version Ma version est en réalité 9.5.

4
Felix

Cela ressemble plus d'éviter le problème que de la fixer réellement, mais cela fonctionne pour le moment. Le problème change de la version nécessite une localisation manuelle du nouveau fichier, qui n'est pas idéale, mais peut-être que je vais faire fonctionner des choses plus en douceur une autre fois.

J'ai trouvé le fichier de paquet brut à l'aide des liens fournis dans la documentation que j'ai mentionnée dans la question. Pour moi, l'URL était https://packages.Microsoft.com/debian/9/prod/pool/main/m/msodbcsql17/ et le dernier paquet était msodbcsql17_17.2.0.1-1_AMD64.deb. tilisation wget et dpgk J'ai réussi à installer ce package.

Les commandes Dockerfile ajoutant à l'habitude étaient:

RUN apt-get install -y curl wget gnupg
RUN curl https://packages.Microsoft.com/keys/Microsoft.asc | apt-key add -

RUN TEMP_DEB="$(mktemp)" \
 && wget -O "$TEMP_DEB" 'https://packages.Microsoft.com/debian/9/prod/pool/main/m/msodbcsql17/msodbcsql17_17.2.0.1-1_AMD64.deb' \
 && yes | dpkg --skip-same-version -i "$TEMP_DEB" \
 && rm -f "$TEMP_DEB"
0
Felix

J'ai suivi les instructions sur la documentation Microsoft à l'aide de Python: 3.6-Slim et il semblait installer correctement avec quelques mises en garde.

Vous aurez besoin de ces forfaits pour suivre les instructions

apt-get update && apt-get install -y curl apt-transport-https gnupg2

L'image Docker n'a pas de boucle, APT-Transport-HTTPS est nécessaire pour utiliser le représentant de Microsoft avec le protocole HTTPS et GNUPG2 est nécessaire pour la commande APT-Key

FROM python:3.6-slim

RUN apt-get update \
        && apt-get install -y curl apt-transport-https gnupg2 \
        && curl https://packages.Microsoft.com/keys/Microsoft.asc | apt-key add - \
        && curl https://packages.Microsoft.com/config/debian/9/prod.list > /etc/apt/sources.list.d/mssql-release.list \
        && apt-get update \
        && ACCEPT_EULA=Y apt-get install -y msodbcsql17 mssql-tools

et on dirait que cela ajoute un /etc/odbcinst.ini qui pointe sur le conducteur

cat /etc/odbcinst.ini
[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/opt/Microsoft/msodbcsql17/lib64/libmsodbcsql-17.2.so.0.1
UsageCount=1

vous devriez donc être capable de vous connecter via le "pilote ODBC 17 pour SQL Server" ODBC pilote

3
nijave