3 votes

Sqlcmd ne parvient pas à trouver odbc 17 sur MacOS Big Sur

J'ai installé MSSQL selon les instructions ici.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
HOMEBREW_NO_ENV_FILTERING=1 ACCEPT_EULA=Y brew install msodbcsql17 mssql-tools
sudo ln -s /usr/local/etc/odbcinst.ini /etc/odbcinst.ini
sudo ln -s /usr/local/etc/odbc.ini /etc/odbc.ini

Lorsque j'exécute mon sqlcmd, j'obtiens la sortie suivante :

Sqlcmd: Erreur: Pilote ODBC Microsoft 17 pour SQL Server : Fournisseur SSL : [La bibliothèque OpenSSL n'a pas pu être chargée, assurez-vous qu'OpenSSL 1.0 ou 1.1 est installé].
Sqlcmd: Erreur: Pilote ODBC Microsoft 17 pour SQL Server : Le client n'a pas pu établir de connexion.

J'ai suivi les étapes de dépannage ici, mais je ne comprends pas vraiment la sortie de la trace pour savoir si elle m'indique le problème ou non. Quelqu'un est-il en mesure de déterminer quel est le problème ici et comment le résoudre ? Merci !

[ODBC][91830][1638890399.677549][__handles.c][460]
        Sortie:[SQL_SUCCESS]
            Environnement = 0x7fb388023000
[ODBC][91830][1638890399.677704][SQLSetEnvAttr.c][189]
        Entrée:
            Environnement = 0x7fb388023000
            Attribut = SQL_ATTR_ODBC_VERSION
            Valeur = 0x3
            StrLen = 0
[ODBC][91830][1638890399.677916][SQLSetEnvAttr.c][381]
        Sortie:[SQL_SUCCESS]
[ODBC][91830][1638890399.677988][SQLAllocHandle.c][377]
        Entrée:
            Type de poignée = 2
            Poignée d'entrée = 0x7fb388023000
        UNICODE Utilisation du codage ASCII 'US-ASCII' et UNICODE 'UCS-2-INTERNAL'

[ODBC][91830][1638890399.678164][SQLAllocHandle.c][513]
        Sortie:[SQL_SUCCESS]
            Poignée de sortie = 0x7fb390817800
[ODBC][91830][1638890399.678262][SQLSetConnectAttr.c][399]
        Entrée:
            Connexion = 0x7fb390817800
            Attribut = SQL_ATTR_LOGIN_TIMEOUT
            Valeur = 0x8
            StrLen = 4
[ODBC][91830][1638890399.678328][SQLSetConnectAttr.c][691]
        Sortie:[SQL_SUCCESS]
[ODBC][91830][1638890399.678406][SQLSetConnectAttrW.c][335]
        Entrée:
            Connexion = 0x7fb390817800
            Attribut = SQL_ATTR_PACKET_SIZE
            Valeur = 0x1000
            StrLen = 4
[ODBC][91830][1638890399.678483][SQLSetConnectAttrW.c][627]
        Sortie:[SQL_SUCCESS]
[ODBC][91830][1638890399.678601][SQLDriverConnectW.c][290]
        Entrée:
            Connexion = 0x7fb390817800
            Poignée de la fenêtre = 0x0
            Str In = [DRIVER={ODBC Driver 17 for SQL Server};SERVER={gsat-ihealth-fb.database.windows.net};Database={master};UID={ihealth-fbadmin};PW...][longueur = 180 (SQL_NTS)]
            Str Out = 0x0
            Str Out Max = 0
            Ptr Str Out = 0x0
            Achèvement = 0
[ODBC][91830][1638890399.834073][__handles.c][460]
        Sortie:[SQL_SUCCESS]
            Environnement = 0x7fb39081f000
[ODBC][91830][1638890399.834252][SQLGetEnvAttr.c][157]
        Entrée:
            Environnement = 0x7fb39081f000
            Attribut = 65002
            Valeur = 0x7000054b5190
            Longueur du tampon = 128
            StrLen = 0x7000054b5174
[ODBC][91830][1638890399.834791][SQLGetEnvAttr.c][273]
        Sortie:[SQL_SUCCESS]
[ODBC][91830][1638890399.834949][SQLFreeHandle.c][220]
        Entrée:
            Type de poignée = 1
            Poignée d'entrée = 0x7fb39081f000
[ODBC][91830][1638890399.835183][SQLDriverConnectW.c][699]
        Sortie:[SQL_ERROR]
[ODBC][91830][1638890399.835364][SQLGetDiagFieldW.c][892]
        Entrée:
            Connexion = 0x7fb390817800
            Numéro d'enregistrement = 0
            Diag Ident = 2
            Diag Info Ptr = 0x7ffeee9c43e2
            Longueur du tampon = 2
            Pointeur de longueur de chaîne = 0x0
[ODBC][91830][1638890399.835467][SQLGetDiagFieldW.c][924]
        Sortie:[SQL_SUCCESS]
[ODBC][91830][1638890399.835650][SQLGetDiagFieldW.c][892]
        Entrée:
            Connexion = 0x7fb390817800
            Numéro d'enregistrement = 1
            Diag Ident = 5
            Diag Info Ptr = 0x7ffeee9c43dc
            Longueur du tampon = -6
            Pointeur de longueur de chaîne = 0x0
[ODBC][91830][1638890399.835760][SQLGetDiagFieldW.c][924]
        Sortie:[SQL_SUCCESS]
[ODBC][91830][1638890399.835846][SQLGetDiagFieldW.c][892]
        Entrée:
            Connexion = 0x7fb390817800
            Numéro d'enregistrement = 1
            Diag Ident = 6
            Diag Info Ptr = 0x7fb39081ce00
            Longueur du tampon = 2050
            Pointeur de longueur de chaîne = 0x7ffeee9c43e0
[ODBC][91830][1638890399.835918][SQLGetDiagFieldW.c][924]
        Sortie:[SQL_SUCCESS]
[ODBC][91830][1638890399.836011][SQLGetDiagFieldW.c][892]
        Entrée:
            Connexion = 0x7fb390817800
            Numéro d'enregistrement = 1
            Diag Ident = 4
            Diag Info Ptr = 0x7ffeee9c43e4
            Longueur du tampon = 12
            Pointeur de longueur de chaîne = 0x7ffeee9c43e0
[ODBC][91830][1638890399.836084][SQLGetDiagFieldW.c][924]
        Sortie:[SQL_SUCCESS]
[ODBC][91830][1638890399.836246][SQLGetDiagFieldW.c][892]
        Entrée:
            Connexion = 0x7fb390817800
            Numéro d'enregistrement = 2
            Diag Ident = 5
            Diag Info Ptr = 0x7ffeee9c43dc
            Longueur du tampon = -6
            Pointeur de longueur de chaîne = 0x0
[ODBC][91830][1638890399.836314][SQLGetDiagFieldW.c][924]
        Sortie:[SQL_SUCCESS]
[ODBC][91830][1638890399.836506][SQLGetDiagFieldW.c][892]
        Entrée:
            Connexion = 0x7fb390817800
            Numéro d'enregistrement = 2
            Diag Ident = 6
            Diag Info Ptr = 0x7fb39081ce00
            Longueur du tampon = 2050
            Pointeur de longueur de chaîne = 0x7ffeee9c43e0
[ODBC][91830][1638890399.836586][SQLGetDiagFieldW.c][924]
        Sortie:[SQL_SUCCESS]
[ODBC][91830][1638890399.836774][SQLGetDiagFieldW.c][892]
        Entrée:
            Connexion = 0x7fb390817800
            Numéro d'enregistrement = 2
            Diag Ident = 4
            Diag Info Ptr = 0x7ffeee9c43e4
            Longueur du tampon = 12
            Pointeur de longueur de chaîne = 0x7ffeee9c43e0
[ODBC][91830][1638890399.836904][SQLGetDiagFieldW.c][924]
        Sortie:[SQL_SUCCESS]
[ODBC][91830][1638890399.837152][SQLGetConnectAttrW.c][211]Erreur: SQL_INVALID_HANDLE

Environnement : MacOS Big Sur v11.6.1 MacBook Pro 2019

1voto

fbonds66 Points 153

Ls -al de /usr/local/opt a révélé que openssl était lié à openssl@3 au lieu de openssl@1.1.

rm /usr/local/opt/openssl
ln -s /usr/local/Cellar/openssl@1.1/1.1.1l_1 /usr/local/opt/openssl

Problème résolu.

Avertissement : Cela cassera tout programme brew que vous avez peut-être installé qui dépend de openssl 3. Ce n'était pas un problème pour moi, mais cela peut varier.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X