Partager via


Importer à partir du Stockage Blob Azure

Important

Le support de Machine Learning Studio (classique) prend fin le 31 août 2024. Nous vous recommandons de passer à Azure Machine Learning avant cette date.

À partir du 1er décembre 2021, vous ne pourrez plus créer de nouvelles ressources Machine Learning Studio (classique). Jusqu’au 31 août 2024, vous pouvez continuer à utiliser les ressources Machine Learning Studio (classique) existantes.

La documentation ML Studio (classique) est en cours de retrait et ne sera probablement plus mise à jour.

cette rubrique explique comment utiliser le module importer des données dans Machine Learning Studio (classic) pour lire des données à partir de Stockage Blob Azure, afin que vous puissiez utiliser les données dans une expérience de Machine Learning.

Notes

s’applique à: Machine Learning Studio (classic) uniquement

Des modules par glisser-déposer similaires sont disponibles dans Concepteur Azure Machine Learning.

Le service Blob Azure sert à stocker de grandes quantités de données, y compris des données binaires. Vous pouvez accéder aux objets Blob Azure à partir de n’importe où, à l’aide du HTTP ou du HTTPS. L’authentification peut être nécessaire en fonction du type de stockage d’objets Blob.

  • Tout le monde, notamment les utilisateurs ayant une URL SAS, peut accéder aux Blobs publics.
  • Objets BLOB privés requièrent une connexion et des informations d’identification.

L’importation à partir du stockage d’objets Blob requiert que les données soient stockées dans des objets Blob qui utilisent le format objet Blob de blocs. Les fichiers stockés dans l’objet BLOB doivent utiliser des formats séparés par des virgules (CSV) ou des valeurs séparées par des tabulations (TSV). Lorsque vous lisez le fichier, les enregistrements et tous les en-têtes d’attributs applicables sont chargés sous forme de lignes en mémoire comme un jeu de données.

Notes

le module importer des données ne prend pas en charge la connexion à Stockage Blob Azure compte si l’option « transfert sécurisé requis » est activée.

pour d’autres restrictions sur les types de stockage d’objets blob pris en charge pour une utilisation avec Machine Learning, consultez la section notes techniques .

Conseil

Vous devez importer des données dans un format qui n’est pas pris en charge ? Vous pouvez utiliser python ou R. consultez cet exemple dans le Azure AI Gallery : charger un fichier non-texte à partir de Stockage Blob Azure

Comment importer des données à partir d’objets BLOB Azure

Nous vous recommandons vivement de profiler vos données avant l’importation, pour vous assurer que le schéma est comme prévu. Le processus d’importation analyse un certain nombre de lignes principales pour déterminer le schéma, mais les lignes ultérieures peuvent contenir des colonnes supplémentaires, ou des données qui provoquent des erreurs.

Utiliser l’Assistant Importation de données

Le module propose un nouvel Assistant pour vous aider à choisir une option de stockage, sélectionner parmi les abonnements et les comptes existants et configurer rapidement toutes les options.

  1. Ajoutez le module Importer des données à votre expérience. Vous pouvez trouver le module dans Studio (Classic), dans la catégorie entrée et sortie des données .

  2. Cliquez sur lancer l’Assistant importation de données et suivez les invites.

  3. Une fois la configuration terminée, pour copier les données dans votre expérience, cliquez avec le bouton droit sur le module et sélectionnez exécuter sélectionné.

Si vous avez besoin de modifier une connexion de données existante, l’Assistant charge tous les détails de configuration précédents afin que vous n’ayez pas à redémarrer à partir de zéro.

Définir manuellement les propriétés du module Importer des données

Les étapes suivantes décrivent la configuration manuelle de la source d’importation.

  1. Ajoutez le module Importer des données à votre expérience. Vous pouvez trouver ce module dans Studio (Classic), dans la catégorie entrée et sortie des données .

  2. Pour Source de données, sélectionnez Stockage Blob Azure.

  3. Pour Type d’authentification, choisissez Public (URL SAS) si vous savez que les informations ont été fournies en tant que source de données publique. Une URL SAS est une URL ayant une durée limitée pour l’accès public. Vous pouvez la générer à l’aide d’un utilitaire de stockage Azure.

    Sinon, choisissez un Compte.

  4. Si vos données sont dans un objet Blob public qui est accessible à l’aide d’une URL SAS, vous n’avez pas besoin des informations d’identification supplémentaires, car la chaîne d’URL contient toutes les informations requises pour le téléchargement et l’authentification.

    Dans le champ URI, entrez ou collez l’URI complet qui définit le compte et l’objet Blob public.

    Notes

    Dans une page accessible via une URL SAS, les données peuvent être stockées à l’aide des formats suivants : CSV, TSV et ARFF.

  5. Si vos données sont dans un privé compte, vous devez fournir les informations d’identification, y compris le nom du compte et la clé.

    • Nom du compte : entrez ou collez le nom du compte contenant l’objet Blob auquel vous voulez accéder.

      Par exemple, si l’URL complète du compte de stockage est https://myshared.blob.core.windows.net, vous devez saisir myshared.

    • Pour la clé de compte, collez la clé d’accès de stockage associée au compte.

      si vous ne connaissez pas la clé d’accès, consultez la section « gérer vos comptes de stockage Azure » dans cet article : à propos des comptes de stockage Azure.

  6. Pour le chemin d'accès au conteneur, le répertoire ou l’objet blob, entrez le nom du blob spécifique que vous voulez récupérer.

    Par exemple, si vous avez téléchargé un fichier nommé data01.csv au conteneur trainingdata dans un compte nommé mymldata, l’URL complète pour le fichier serait : https://mymldata.blob.core.windows.net/trainingdata/data01.txt.

    Par conséquent, dans le champ chemin d’accès au conteneur, répertoire ou objet BLOB, vous devez taper : trainingdata/data01.csv

    Pour importer plusieurs fichiers, vous pouvez utiliser les caractères génériques * (astérisque) ou ? (point d’interrogation).

    Par exemple, en supposant que le conteneur trainingdata contient plusieurs fichiers d’un format compatible, vous pouvez utiliser la spécification suivante pour lire tous les fichiers commençant par data et les concaténer dans un seul jeu de données :

    trainingdata/data*.csv

    Vous ne pouvez pas utiliser de caractères génériques dans les noms de conteneur. Si vous avez besoin d’importer des fichiers à partir de plusieurs conteneurs, utilisez une instance distincte du module Importer des données pour chaque conteneur et, puis fusionner les jeux de données à l’aide du module Add Rows (Ajouter des lignes).

    Notes

    Si vous avez sélectionné l’option, Utiliser des résultats mis en cache, les modifications que vous apportez aux fichiers dans le conteneur ne déclenchent pas une actualisation des données dans l’expérience.

  7. pour format de fichier Blob, sélectionnez une option qui indique le format des données stockées dans l’objet blob, afin que Machine Learning puisse traiter les données de manière appropriée. Les formats suivants sont pris en charge :

    • CSV: les valeurs séparées par des virgules (CSV) sont le format de stockage par défaut pour l’exportation et l’importation de fichiers dans machine learning. Si les données contiennent déjà une ligne d’en-tête, veillez à sélectionner l’option, Le fichier comporte une ligne d’en-tête, sans quoi, l’en-tête sera traitée comme une ligne de données.

      pour plus d’informations sur le format csv utilisé dans Machine Learning, consultez [convert to CSV] (conversion en csv.md

    • TSV: les valeurs séparées par des tabulations (TSV) sont un format utilisé par de nombreux outils de machine learning. Si les données contiennent déjà une ligne d’en-tête, veillez à sélectionner l’option, Le fichier comporte une ligne d’en-tête, sans quoi, l’en-tête sera traitée comme une ligne de données.

      pour plus d’informations sur le format tsv utilisé dans Machine Learning, consultez la page convertir en tsv.

    • ARFF: ce format prend en charge l’importation de fichiers au format utilisé par l’ensemble d’outils weka. Pour plus d’informations, consultez Convert to ARFF.

    • CSV avec un encodage spécifié: utilisez cette option pour les fichiers CSV qui peuvent avoir été préparés à l’aide d’un séparateur de champs différent, ou si la source a peut-être utilisé un encodage de caractères différent de UTF-8. Ce format n’est pas pris en charge pour les fichiers stockés dans une URL SAS.

    • Excel: utilisez cette option pour lire des données à partir de Excel classeurs stockés dans Stockage Blob Azure. le format de Excel n’est pas pris en charge pour les fichiers stockés dans une URL SAS.

  8. Pour les fichiers CSV avec des encodages spéciaux, définissez ces options supplémentaires pour contrôler l’importation correcte des caractères :

    • Format de séparateur des virgules: choisissez dans une liste de caractères courants utilisés comme séparateurs de champs, y compris le caractère de tabulation virgule , et le point-virgule ; .

    • Format d’encodage: choisissez l’encodage de caractères utilisé par le fichier que vous souhaitez lire. Pour obtenir la liste des encodages pris en charge, consultez la section Notes techniques .

    • Le fichier comporte une ligne d’en-tête: sélectionnez cette option si les données contiennent déjà une ligne d’en-tête. Dans le cas contraire, l’en-tête est importé en tant que ligne de données.

  9. pour les fichiers Excel, après avoir spécifié le compte et le conteneur dans lequel le fichier Excel est stocké, vous devez indiquer le format du Excel et le nom de la plage ou de la table à l’aide des options suivantes :

    • format de données Excel: indiquez si les données se trouvent dans une plage de feuille de calcul Excel ou dans une table Excel.

    • feuille de Excel ou table incorporée: si vous sélectionnez l’option feuille de Excel , spécifiez le nom de la feuille de calcul (nom de l’onglet) ou une table incorporée dans le classeur. Toutes les données de la feuille sont lues ; vous ne pouvez pas spécifier une plage de cellules. si vous sélectionnez l’option de table Excel , vous devez obtenir le nom de la table et non le nom de la feuille, même s’il n’y a qu’une seule table dans une feuille. Pour afficher le nom de la table, cliquez à l’intérieur de la table, puis affichez la propriété nom de la table sous l’onglet outils de table .

  10. Exécutez l’expérience.

Exemples

pour savoir comment utiliser les données de Stockage Blob Azure dans Machine Learning expériences, consultez la galerie Azure:

Notes techniques

Cette section contient des détails, des conseils et des réponses aux questions fréquentes concernant l’implémentation.

Questions courantes

Existe-t-il un moyen d’automatiser l’importation des données ?

Il existe plusieurs façons d’obtenir de nouvelles données et de les utiliser pour mettre régulièrement à jour une expérience. Dépend de l’emplacement d’origine des données sources et des outils que vous préférez pour le déplacement des données. Consultez ces articles pour obtenir des idées.

L’automatisation de l’exécution de l’expérience nécessite généralement la création d’un service Web, qui peut ensuite être déclenché par un planificateur de tâches, PowerShell ou tout autre code personnalisé.

Pourquoi ai-je obtenu une erreur lorsque j’ai essayé de lire des données d’entrée à partir d’un objet BLOB existant ?

Il existe plusieurs problèmes possibles :

  • L’objet BLOB utilise un format non pris en charge
  • Le compte lui-même a été créé à l’aide d’une option qui n’est pas encore prise en charge par Machine Learning.

format non pris en charge: lors de la lecture à partir d’Stockage Blob Azure, actuellement Machine Learning requiert que l’objet blob utilise le format d' objet blob de blocs , ce qui vous permet de charger efficacement des objets blob volumineux. Par exemple, si vous chargez un fichier CSV dans le stockage d’objets BLOB, le fichier est stocké en tant qu’objet blob de blocs. Toutefois, lorsque vous créez un fichier BLOB par programme, vous pouvez générer un type différent d’objet BLOB, tel que le type AppendBlob, qui n’est pas pris en charge.

Pour contourner ce problème, nous vous recommandons d’utiliser le type d' objet blob de blocs .

Important

Une fois l’objet BLOB créé, le type ne peut pas être modifié.

Pour plus d’informations, consultez comprendre les objets BLOB de blocs, les objets BLOB d’ajout et les objets BLOB de pages.

Type de compte non pris en charge: les modules d’importation et d’exportation peuvent lire et écrire des données uniquement à partir de comptes de stockage Azure créés à l’aide du modèle de déploiement classique. en d’autres termes, le nouveau type de compte Stockage Blob Azure qui offre un niveau d’accès de stockage chaud et froid n’est pas encore pris en charge. En règle générale, tous les comptes de stockage Azure que vous avez créés avant la disponibilité de cette option de service ne doivent pas avoir été affectés.

si vous avez besoin de créer un nouveau compte pour une utilisation avec Machine Learning, sélectionnez classique comme modèle de déploiement, ou utilisez resource manager et pour type de compte, sélectionnez usage général plutôt que stockage Blob.

Comment puis-je éviter de recharger inutilement les mêmes données ?

Si vos données sources changent, vous pouvez actualiser le jeu de données et ajouter de nouvelles données en réexécutant les données d’importation. Toutefois, si vous ne souhaitez pas relire la source chaque fois que vous exécutez l’expérience, définissez l’option Use cached results (Utiliser les résultats mis en cache) sur TRUE. Lorsque cette option a la valeur TRUE, le module vérifie si l’expérience a été exécutée précédemment à l’aide de la même source et les mêmes options d’entrée, et si une exécution précédente est trouvée, les données du cache sont utilisées, au lieu de recharger les données à partir de la source.

Puis-je filtrer les données à mesure qu’elles sont lues à partir de la source ?

Le module importer des données ne prend pas en charge le filtrage au fur et à mesure de la lecture des données.

une fois que vous avez chargé les données dans Machine Learning Studio (classic), vous pouvez modifier les données à l’aide des outils suivants :

  • Utilisez un script R personnalisé pour filtrer ou transformer des données.

  • Utilisez le module fractionner les données avec une expression relative ou une expression régulière pour isoler les données souhaitées, puis enregistrez-les en tant que DataSet.

Si vous avez chargé plus de données que nécessaire, vous pouvez remplacer le jeu de données en lisant un nouveau DataSet et en spécifiant qu’il doit être enregistré avec le même nom que les données plus anciennes, plus grandes.

Pourquoi le processus d’importation ajoute-t-il une ligne supplémentaire à la fin de mon jeu de données lorsqu’il trouve une nouvelle ligne de fin ?

Si le module importer des données rencontre une ligne de données suivie d’une ligne vide ou d’un caractère de nouvelle ligne finale, une ligne supplémentaire contenant des valeurs manquantes est ajoutée à la fin de la table.

La raison de l’interprétation d’une nouvelle ligne finale en tant que nouvelle ligne est que les données d’importation ne peuvent pas déterminer la différence entre une ligne vide réelle et une ligne vide créée par l’utilisateur en appuyant sur entrée à la fin d’un fichier.

Étant donné que certains algorithmes Machine Learning prennent en charge des données manquantes et traitent donc cette ligne comme un cas (qui, à son tour, peut affecter les résultats), vous devez utiliser nettoyer les données manquantes pour rechercher les valeurs manquantes, et les supprimer si nécessaire.

Avant de vérifier les lignes vides, vous pouvez également séparer la ligne vide finale des autres lignes avec des valeurs manquantes partielles, qui peuvent représenter des valeurs manquantes réelles dans les données sources. Pour ce faire, vous pouvez diviser le DataSet à l’aide de données fractionnées. Sélectionnez l’option Sélectionner les lignes d’en-tête N pour lire toutes les lignes, à l’exception de la dernière ligne.

Que se passe-t-il si vous importez des données chargées à partir de différentes régions géographiques ?

Si le compte de stockage d’objets BLOB ou de tables se trouve dans une région différente du nœud de calcul utilisé pour l’expérience Machine Learning, l’accès aux données peut être plus lent. En outre, vous êtes facturé pour l’entrée et la sortie des données de l’abonnement.

Pourquoi certains caractères de mon fichier source ne sont pas affichés correctement dans l'en-tête ?

Machine Learning prend généralement en charge l’encodage UTF-8. Si votre fichier source utilise un autre type d’encodage, les caractères peuvent ne pas être importés correctement.

Si vous avez des difficultés à charger les données correctement, essayez d'utiliser l'option CSV avec encodage et spécifiez des paramètres pour les délimiteurs personnalisés, la page de codes, etc.

Y a-t-il des caractères interdits ou des caractères qui sont modifiés lors de l’importation ?

Si les données d'attribut contiennent des guillemets ou des séquences de caractères d'échappement, ceux-ci sont gérés à l'aide des règles associées à ces caractères dans Microsoft Excel. Tous les autres caractères sont traités à l’aide des spécifications suivantes comme indications : RFC 4180.

la taille limite pour le téléchargement des jeux de données locaux directement vers Machine Learning est de 1,98 go. Avec des fichiers très volumineux, l’ajout du jeu de données à votre compte d’expérimentation peut prendre beaucoup de temps.

  • Estimez 10 minutes ou plus par Go de données.
  • pour optimiser les performances, utilisez un compte de stockage dans la même région que celle utilisée par le service Azure ML.

Pour télécharger des fichiers plus volumineux, jusqu’à 10 Go, il existe plusieurs approches :

  • Utilisez un fichier zippé. vous pouvez télécharger des jeux de données vers Azure ML Studio (classic) au format zippé, puis utiliser le module décompresser les jeux de données zippés pour décompresser et enregistrer le jeu de données. Les jeux de données Zippés peuvent également être décompressés à l’aide du module exécuter le script R , mais les performances peuvent être limitées.

  • Utilisez un utilitaire Azure rapide, tel que AzCopy. mettez en place les données pour Microsoft Azure Stockage Blob à l’aide d’un utilitaire tel que AzCopy. Ensuite, utilisez le module importer des données pour importer des données à partir du stockage BLOB vers Studio (Classic).

    Par exemple, le code suivant illustre la syntaxe AzCopy pour l’écriture dans le stockage d’objets BLOB.

    cd "C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy"
    .\AzCopy.exe /Source:C:\LocalFolder /Dest:https://mystorage.blob.core.windows.net/mycontainer /DestKey:MyStorageAccountKey /Pattern:myfile.csv
    

J’ai importé un fichier CSV à l’aide d’un encodage spécifié, mais le texte ne s’affiche pas correctement lorsque j’utilise l’option pour visualiser. Pourquoi ?

pour les jeux de données chargés, Machine Learning prend généralement en charge UTF-8 uniquement. Toutefois, le module importer des données prend en charge des formats d’encodage supplémentaires. Par conséquent, une fois que vous avez importé un fichier à l’aide de l’un de ces formats, vous pouvez constater que les caractères ne s’affichent pas correctement. La solution consiste à convertir l’encodage en UTF-8 à l’aide de l’une des méthodes suivantes :

  • Enregistrez les données importées en tant que DataSet. (L’utilisation d’un DataSet enregistré au lieu des données CSV peut également améliorer les performances.)

  • Si vous utilisez le jeu de données dans le module exécuter le script R , vous pouvez appliquer le codage correct à l’aide d’un script tel que celui-ci :

    dataset <- maml.mapInputPort(1)
    Encoding(dataset$city) <- "UTF-8"
    maml.mapOutputPort("dataset")
    

    Vous pouvez ensuite utiliser la fonction visualiser sur la sortie du module exécuter le script R et vérifier que les caractères s’affichent correctement.

Quelles sont les options dont je dispose pour importer des fichiers texte ? Le CSV n’est pas adapté à mes données.

Le traitement et le nettoyage du texte non structuré en fonction des colonnes est toujours un défi. Toutefois, si vous devez importer des colonnes de données de texte, le format TSV présente souvent moins de difficultés, même si vous devez toujours rechercher les caractères de tabulation excédentaires à l’avance.

nous vous recommandons de passer en revue le modèle de Classification de texte, dans le Azure AI Gallery, pour voir un exemple d’ingestion de texte et de traitement dans Machine Learning Studio (classic).

Codage personnalisé pour les fichiers CSV

Les versions antérieures du module importer des données ne prenaient pas en charge certains types de fichiers CSV valides. Par exemple, les données exportées à partir d'Excel contenaient parfois des caractères qui empêchaient l'analyse correcte du fichier.

Pour prendre en charge une plage de délimiteurs et de formats de caractères plus large possible, les données d’importation prennent désormais en charge le choix du délimiteur et du format d’encodage. Si vous utilisez l'option CSV avec encodage, l'analyse du fichier CSV s'avère plus robuste et plus efficace.

Vous pouvez utiliser les codages de caractères suivants :

Type Encodage
Unicode Unicode (UTF-8)

Unicode

Unicode (UTF-32)

Unicode (UTF-7)
CJYK Chinois traditionnel (Big5)

Chinois simplifié (GB2312)

Chinois simplifié (Mac)

Chinois simplifié (GB2312-80)

Chinois simplifié (ISO-2022)

Chinois simplifié (GB18030)

Japonais (JIS)

Coréen (ISO)

Coréen (Mac)
Autre Europe Ouest (Windows)

Europe occidentale (ISO)

Hébreu (ISO-Visual)

US ASCII

Conseil

Une fois l’importation CSV terminée, nous vous recommandons d’enregistrer les fichiers importés en tant que jeu de données pour vous assurer que les données importées utilisent l’encodage UTF-8 dans votre expérience.

Inférence de type de données au format CSV et TSV

lorsque le module importer des données charge des données à partir d’un fichier CSV ou TSV dans Stockage Blob Azure, un devinateur de type recherche des données de catégorie ou numériques dans le fichier source et représente le type découvert dans les métadonnées du nouveau dataset.

Toutefois, vous pouvez remplacer les résultats de l’estimation de type en modifiant les attributs de colonne dans le module modifier les métadonnées une fois que les données ont été chargées.

Paramètres du module

Options générales

Nom Plage Type Default Description
Source de données Liste Source ou récepteur de données Stockage Blob Azure la source de données peut être http, FTP, https ou FTPS anonyme, un fichier dans le stockage d’objets BLOB azure, une table azure, une Azure SQL Database, une base de données SQL Server locale, une table Hive ou un point de terminaison OData.
Type d'authentification PublicOrSas/compte String Compte Spécifiez si les données se trouvent dans un conteneur public accessible via une URL SAS ou dans un compte de stockage privé qui requiert une authentification pour l’accès.
Utiliser les résultats mis en cache TRUE/FALSE Booléen false Sélectionnez cette option pour éviter le chargement de données entre les exécutions

Options de stockage public ou SAS-public

Nom Plage Type Default Description
URI n'importe laquelle String aucun Point de terminaison REST HDFS
Format de fichier ARFF, CSV ou TSV String CSV Sélectionner l’un des formats pris en charge
L’URI contient une ligne d’en-tête Booléen TRUE/FALSE true True si le fichier contient une ligne d’en-tête ; Si la valeur est false, la première ligne de données est utilisée comme en-têtes de colonnes

Options de stockage privée du compte

Nom Plage Type Default Description
Nom du compte n'importe laquelle String aucun Tapez le nom du compte de stockage.
Clé de compte n'importe laquelle SecureString aucun Coller la clé du compte
Chemin d'accès au conteneur, répertoire ou objet Blob n'importe laquelle String N/A Tapez le nom du conteneur ou du répertoire
Format du fichier blob ARFF, CSV ou TSV String CSV Sélectionner l’un des formats pris en charge
Le fichier comporte une ligne d'en-tête n'importe laquelle Chaîne True Nom du compte de stockage Azure

Sorties

Nom Type Description
Jeu de données de résultats Table de données DataSet avec données importées

Exceptions

Exception Description
Erreur 0027 Une exception se produit quand deux objets qui doivent avoir la même taille ne l'ont pas.
Erreur 0003 Une exception se produit si une ou plusieurs entrées ont la valeur Null ou sont vides.
Erreur 0029 Une exception se produit lorsqu'un URI non valide est passé.
Erreur 0030 Une exception se produit lorsqu'il n'est pas possible de télécharger un fichier.
Erreur 0002 Une exception se produit si un ou plusieurs paramètres n'ont pas pu être analysés ou convertis à partir du type spécifié dans le type requis par la méthode cible.
Erreur 0009 Une exception se produit si le nom du compte de stockage Azure ou le nom du conteneur est spécifié de manière incorrecte.
Erreur 0048 Une exception se produit quand il n'est pas possible d'ouvrir un fichier.
Erreur 0046 Une exception se produit quand il n'est pas possible de créer un répertoire sur le chemin d'accès spécifié.
Erreur 0049 Une exception se produit quand il n'est pas possible d'analyser un fichier.

pour obtenir la liste des erreurs spécifiques aux modules Studio (classiques), consultez Machine Learning codes d’erreur.

pour obtenir la liste des exceptions d’api, consultez Machine Learning les Codes d’erreur de l' api REST.

Voir aussi

Importer des données
Exporter les données
Importer à partir d’une URL web via HTTP
Importer à partir d’une requête Hive
Importer à partir d’Azure SQL Database
Importer à partir de Table Azure
Importer à partir de fournisseurs de flux de données
Importer à partir d’une base de données SQL Server locale