Microsoft SQL Server
Cette rubrique explique comment configurer la connectivité à une cible Microsoft SQL Server via le connecteur cible Microsoft SQL Server.
La cible Microsoft SQL Server peut être utilisée comme plate-forme de données cible dans un pipeline de données ou une tâche de réplication. Dans un pipeline de données, il est possible d'effectuer différentes opérations ELT sur la plate-forme cible, notamment le stockage de données, la transformation de données, la création de mini-data warehouses et l'enregistrement de données. Par ailleurs, un tâche de réplication implique la réplication de données directement d'un système de source vers un système cible avec des fonctionnalités de transformation de base, mais sans support des opérations ELT.. Avant de pouvoir vous connecter à une cible Microsoft SQL Server, vous devez configurer les Conditions préalables requises relatives à l'utilisateur sur la base de données. Si vous vous connectez à Microsoft SQL Server via Data Movement gateway, vous devez également installer le pilote, comme décrit à la section Configuration du pilote.
Pour des informations sur les limitations et les considérations à prendre en compte lors de l'utilisation du connecteur Cible Microsoft SQL Server, voir Limitations et considérations générales.
Définition des propriétés de connexion
Pour configurer le connecteur, procédez comme suit :
-
Dans Connexions, cliquez sur Créer une connexion.
-
Sélectionnez le Microsoft SQL Server connecteur cible et fournissez les paramètres suivants :
Data Movement gateway
Microsoft SQL Server peut être utilisé comme cible dans un pipeline de données ou dans une tâche de réplication. Même si une Data Movement gateway peut être requise pour accéder à une cible Microsoft SQL Server dans un pipeline (si la base de données est directement accessible depuis Qlik Cloud), elle est toujours nécessaire si vous utilisez une cible Microsoft SQL Server dans une tâche de réplication.
Utilisation d'une cible Microsoft SQL Server dans un pipeline de données
Passerelle de données
Une Data Movement gateway est nécessaire uniquement si la base de données cible n'est pas accessible depuis Qlik Cloud et est accessible uniquement via un lien privé (par exemple, si elle est située sur site derrière un pare-feu ou dans un cloud privé virtuel). Si c'est le cas, sélectionnez la Data Movement gateway via laquelle vous souhaitez accéder à la base de données cible.
Suivant votre cas d'utilisation, il s'agira soit de la même Data Movement gateway que celle déployée pour déplacer des données provenant de la source de données, soit d'une autre.
Pour des informations sur les cas d'utilisation de Data Movement gateway, consultez Quand Data Movement gateway est-elle obligatoire ? et Cas d'utilisation courants.
Si la base de données cible est directement accessible depuis Qlik Cloud, sélectionnez Aucune.
Utilisation d'une cible Microsoft SQL Server dans une tâche de réplication
Passerelle de données : Sélectionnez la Data Movement gateway qui sera utilisée pour tester la connexion à la cible Microsoft SQL Server. Il doit s'agir de la même passerelle que celle utilisée pour accéder à la source de données.
Nécessite Data Movement gateway 2023.5.10 ou une version ultérieure.
Cible de données
-
Fournisseur de cloud : sélectionnez l'une des options suivantes, selon les besoins :
- Aucun (pour les installations locales)
- Amazon RDS
- Google Cloud
- Microsoft Azure (supporte Microsoft Azure Managed Instance et Microsoft Azure Database)
-
Serveur : nom d'hôte ou adresse IP de l'ordinateur sur lequel la base de données Microsoft SQL Server est installée.
Note InformationsPour remplacer le port par défaut, ajoutez le port au nom du serveur, en le séparant à l'aide d'une virgule. Par exemple, si le nom de serveur est
myserver.company.local
et si le port est3333
, le nom de serveur devrait être :myserver.company.local,3333
Propriétés du compte
Nom d'utilisateur et Mot de passe : nom d'utilisateur et mot de passe d'un utilisateur autorisé à accéder à la base de données Microsoft SQL Server.
Propriétés de base de données
-
Nom de base de données : il existe deux méthodes à utiliser pour spécifier une base de données :
- Méthode 1 - Sélection à partir d'une liste : Cette méthode nécessite que l'utilisateur soit créé dans la base de données principale. Cliquez sur Charger des bases de données et sélectionnez une base de données.
- Méthode 2 - Manuellement : Sélectionnez Saisir le nom de base de données manuellement et saisissez le nom de la base de données.
- Chiffrer (Faire confiance au certificat du serveur) : Sélectionnez cette option pour chiffrer la communication entre Qlik Cloud et le serveur de la base de données. Lorsque cette option est sélectionnée, le système fait automatiquement confiance au certificat du serveur.
- Nom d'hôte du certificat : Pour faire confiance au certificat du serveur uniquement si son nom d'hôte correspond à la valeur spécifiée dans ce champ, saisissez le nom d'hôte du certificat du serveur.
Propriétés internes
Les propriétés internes s'adressent à des cas d'utilisation spéciaux et ne sont par conséquent pas exposées dans la boîte de dialogue. Utilisez-les uniquement si Qlik Support vous le demande.
Utilisez les boutons et à droite des champs pour ajouter ou supprimer des propriétés, suivant les besoins.
Nom
Nom d'affichage de la connexion.
Conditions préalables requises
Conditions préalables requises relatives à l'utilisateur
- L'utilisateur spécifié dans les paramètres du connecteur doit être titulaire au minimum du rôle d'utilisateur
db_owner
sur la base de données Microsoft SQL Server cible. - Pour pouvoir sélectionner une base de données (en cliquant sur Charger des bases de données dans la boîte de dialogue du connecteur), l'utilisateur spécifié dans les paramètres du connecteur doit être créé dans la base de données principale.
Configuration du pilote
Un pilote est obligatoire uniquement si vous accédez à la base de données via Data Movement gateway. Voir la section Data Movement gateway ci-dessus pour plus d'informations sur les cas d'utilisation lorsqu'une passerelle Data Movement gateway est nécessaire.
Vous pouvez installer le driver via l'utilitaire d'installation de pilote (recommandé) ou manuellement. Tentez une installation manuelle uniquement dans le cas improbable où vous rencontriez un problème avec l'utilitaire d'installation de pilote.
Utilisation de l'utilitaire d'installation de pilote pour installer le pilote
Cette section explique comment installer le driver requis. Le processus implique l'exécution d'un script qui téléchargera, installera et configurera automatiquement le driver requis. Vous pouvez également exécuter des scripts permettant de mettre à jour et de désinstaller le driver, si nécessaire.
Préparation de l'installation
-
Assurez-vous que Python 3.6 ou une version ultérieure est installé sur le serveur de passerelle Déplacement des données.
Python est préinstallé sur la plupart des distributions Linux. Vous pouvez vérifier la version de Python installée sur votre système en exécutant la commande suivante :
python3 --version
Installation de driver
Pour télécharger et installer le driver :
-
Arrêtez le service Data Movement gateway :
sudo systemctl stop repagent
-
Confirmez éventuellement l'arrêt du service :
sudo systemctl status repagent
Le statut doit être comme suit :
Active: inactive (dead) since <timestamp> ago
-
Sur le poste de passerelle Déplacement des données, remplacez le répertoire de travail par :
opt/qlik/gateway/movement/drivers/bin
-
Exécutez la commande suivante :
Syntaxe :
./install sqlserver
Si le driver ne peut pas être téléchargé (en raison de restrictions d'accès ou de problèmes techniques), un message s'affichera, vous indiquant où télécharger et copier le driver sur le poste de passerelle Déplacement des données. Une fois que c'est fait, exécutez de nouveau la commande install sqlserver.
Sinon, le CLUF du driver apparaîtra.
-
Procédez de l'une des manières suivantes :
- Appuyez à plusieurs reprises sur [Entrée] pour parcourir lentement le CLUF.
- Appuyez à plusieurs reprises sur la barre d'espace pour parcourir rapidement le CLUF.
- Appuyez sur q pour quitter le texte de licence et faire apparaître les options d'acceptation du CLUF.
-
Procédez de l'une des manières suivantes :
- Saisissez « y » et appuyez sur [Entrée] pour accepter le CLUF et démarrer l'installation.
- Saisissez « n » et appuyez sur [Entrée] pour rejeter le CLUF et quitter l'installation.
-
Saisissez « v » et appuyez sur [Entrée] pour afficher de nouveau le CLUF.
-
Attendez la fin de l'installation (indiquée par « Complete! »), puis démarrez le service Data Movement gateway :
sudo systemctl start repagent
-
Confirmez éventuellement le lancement du service :
sudo systemctl status repagent
Le statut doit être comme suit :
Active: active (running) since <timestamp> ago
Le driver sera installé.
Mise à jour du driver
Exécutez la commande update si vous souhaitez désinstaller des versions précédentes du driver avant d'installer le driver fourni.
Pour télécharger et mettre à jour le driver :
-
Arrêtez le service Data Movement gateway :
sudo systemctl stop repagent
-
Confirmez éventuellement l'arrêt du service :
sudo systemctl status repagent
Le statut doit être comme suit :
Active: inactive (dead) since <timestamp> ago
-
Sur le poste de passerelle Déplacement des données, remplacez le répertoire de travail par :
opt/qlik/gateway/movement/drivers/bin
-
Exécutez la commande suivante :
Syntaxe :
./update sqlserver
Si le driver ne peut pas être téléchargé (en raison de restrictions d'accès ou de problèmes techniques), un message s'affichera, vous indiquant où télécharger et copier le driversur le poste de passerelle Déplacement des données. Une fois que c'est fait, exécutez de nouveau la commande update sqlserver.
Sinon, le CLUF du driver apparaîtra.
-
Procédez de l'une des manières suivantes :
- Appuyez à plusieurs reprises sur [Entrée] pour parcourir lentement le CLUF.
- Appuyez à plusieurs reprises sur la barre d'espace pour parcourir rapidement le CLUF.
- Appuyez sur q pour quitter le texte de licence et faire apparaître les options d'acceptation du CLUF.
-
Procédez de l'une des manières suivantes :
- Saisissez « y » et appuyez sur [Entrée] pour accepter le CLUF et démarrer l'installation.
- Saisissez « n » et appuyez sur [Entrée] pour rejeter le CLUF et quitter l'installation.
- Saisissez « v » et appuyez sur [Entrée] pour passer le CLUF en revue depuis le début.
-
Attendez la fin de l'installation (indiquée par « Complete! »), puis démarrez le service Data Movement gateway :
sudo systemctl start repagent
-
Confirmez éventuellement le lancement du service :
sudo systemctl status repagent
Le statut doit être comme suit :
Active: active (running) since <timestamp> ago
L'ancien driver sera désinstallé et le nouveau driver sera installé.
Désinstallation du driver
Exécutez la commande uninstall si vous souhaitez désinstaller le driver.
Pour désinstaller le driver :
-
Arrêtez toutes les tâches configurées pour utiliser ce connecteur.
-
Sur le poste de passerelle Déplacement des données, remplacez le répertoire de travail par :
opt/qlik/gateway/movement/drivers/bin
-
Exécutez la commande suivante :
Syntaxe :
./uninstall sqlserver
le driver sera désinstallé.
Installation manuelle des pilotes
Vous devez tenter d'installer manuellement le driver uniquement si l'installation de pilote automatisée n'a pas fonctionné.
Lors de l'utilisation de Microsoft SQL Server comme cible dans un pipeline de données, vous devez installer le pilote ODBC et le pilote JDBC. Lors de l'utilisation de Microsoft SQL Server comme cible dans une tâche de réplication, vous devez uniquement installer le pilote ODBC.
Installation du pilote ODBC
Une fois la Data Movement gateway installée, téléchargez le pilote msodbcsql<version>.x86_64.rpm. Vous trouverez un lien de téléchargement direct vers la version prise en charge sous binary-artifacts dans /opt/qlik/gateway/movement/drivers/manifests/sqlserver.yaml. Une fois le téléchargement terminé, copiez le RPM sur le poste Data Movement gateway.
Sur le serveur Data Movement gateway, ouvrez une invite shell et procédez comme suit :
-
Arrêtez le service Data Movement gateway :
sudo systemctl stop repagent
-
Confirmez éventuellement l'arrêt du service :
sudo systemctl status repagent
-
Installez le pilote (RPM).
-
Modifiez le répertoire de travail par <product_dir>/bin.
-
Copiez l'emplacement du pilote dans le fichier
site_arep_login.sh
comme suit :echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/microsoft/
msodbcsql<version>
/lib64/" >> site_arep_login.sh
Cette opération ajoute le pilote à "LD_LIBRARY_PATH" et met à jour l'emplacement du pilote dans le fichier site_arep_login.sh .
-
Confirmez éventuellement que l'emplacement du pilote a été copié :
cat site_arep_login.sh
-
Démarrez le service Data Movement gateway :
sudo systemctl start repagent
-
Confirmez éventuellement le lancement du service :
sudo systemctl status repagent
Le statut doit être comme suit :
Active: active (running) since <timestamp> ago
-
Data Movement gateway requiert la bibliothèque ODBC suivante : msodbcsql-18.1.so.1.1.
Pour vérifier la version de la bibliothèque actuellement installée, exécutez la commande suivante :
ls /opt/microsoft/msodbcsql<version>/lib64/
Si la bibliothèque existante a un numéro de version différent (par exemple, libmsodbcsql-18.0.so.1.1), vous devez créer un lien symbolique entre la bibliothèque existante et la bibliothèque obligatoire.
Pour ce faire exécutez les commandes suivantes :
cd /opt/microsoft/msodbcsql<version>/lib64/
ln -s existing_library_name
msodbcsql-18.1.so.1.1où
existing_library_name
correspond au nom de la bibliothèque actuellement installée (par exemple, libmsodbcsql-18.0.so.1.1).
Le statut doit être comme suit :
Active: inactive (dead) since <timestamp> ago
Installation du pilote JDBC
-
Téléchargez le fichier mssql-jdbc-<version>.jar. Vous trouverez un lien de téléchargement direct vers la version supportée sous binary-artifacts dans /opt/qlik/gateway/movement/drivers/manifests/sqlserver.yaml. Une fois le téléchargement terminé, copiez le fichier JAR dans le dossier suivant sur le poste Data Movement gateway :
/opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib
-
Redémarrez le service Data Movement gateway en exécutant la commande décrite à la section Redémarrage du service.
Limitations et considérations générales
Limitations et considérations générales lors de l'utilisation dans un pipeline de données
- Lors du dépôt temporaire de données dans Microsoft SQL Server dans un pipeline de données, les vues en direct ne sont pas supportées. Pour plus d'informations sur les vues en direct, voir Stockage de jeux de données.
Limitations et considérations générales concernant l'ensemble des tâches de données
Si les types d'objet de grande taille suivants sont vides dans la base de données source (0 octet), ils ne seront pas vides après Chargement complet :
- BLOB sera écrit comme 0x0000 (2 octets)
- TEXT (VARCHAR(max)) sera écrit comme 0X00 (1 octet)
-
NTEXT (NVARCHAR(max)) sera écrit comme 0x0000 (2 octets)
Limitations et considérations générales concernant uniquement les tâches de réplication
- Les colonnes de LOB de taille complète ne sont pas supportées en mode Application avec optimisation par lots. Vous pouvez contourner cette limitation en limitant la taille de colonne de LOB dans les paramètres de tâche ou en passant en mode Application transactionnelle.
- Lorsque les deux options Application avec optimisation par lots et Répliquer les colonnes de LOB limitées (Ko) sont activées, les colonnes BLOB de la cible sont tronquées à un quart de la taille spécifiée dans le champ Limiter la taille des colonnes de LOB à, tandis que les colonnes CLOB sont tronquées à la moitié de la taille spécifiée.
- Si vous devez répliquer des caractères emoji de 4 octets, utilisez une transformation pour convertir le type de données WSTRING(n ) en WSTRING ( n*2 ).
Types de données
Les informations de type de données natif sont préservées et affichées dans la colonne Type de données natif des vues d'ensemble de données. Si la colonne n'est pas visible, vous devez ouvrir le sélecteur de colonnes de la vue d'ensemble de données et sélectionner la colonne Type de données natif.
Types de données Qlik Cloud | Types de données Microsoft SQL Server |
---|---|
BOOLEAN |
TINYINT |
BYTES |
VARBINARY(length) |
DATE |
DATE |
TIME |
TIME(0) |
DATETIME |
DATETIME2(scale) |
INT1 |
SMALLINT |
INT2 |
SMALLINT |
INT4 |
INT |
INT8 |
BIGINT |
NUMERIC |
NUMERIC(p,s) |
REAL4 |
REAL |
REAL8 |
FLOAT |
STRING |
Si la colonne est une date ou une heure : DATETIME2 Si la colonne n'est pas une date ou une heure : VARCHAR(length) |
UINT1 |
INT2 |
UINT2 |
INT4 |
UINT4 |
INT8 |
UINT8 |
NUMERIC(20) |
WSTRING |
NVARCHAR(length) |
BLOB |
VARBINARY(max) IMAGE |
CLOB |
VARCHAR(max) TEXT |
NCLOB |
NVARCHAR(max) NTEXT |
Les types de données SQL Server suivants ne sont pas supportés. Les données ne seront pas lues.
-
CURSOR
-
SQL_VARIANT
-
TABLE
Les types de données suivants sont convertis en VARCHAR(MAX) :
-
XML
-
GEOGRAPHY
-
GEOMETRY