Nous travaillons sur un projet qui nécessite d'importer quotidiennement des données à partir d'une feuille de calcul Excel. Les données seront importées à partir d'un modèle prédéfini et ce que nous pensons, nous allons d'abord télécharger les données dans une table temporaire et effectuer une opération de nettoyage (supprimer les informations inutiles, ajouter de nouvelles lignes dans la table parent et obtenir leur FK, etc.).
- J'ai besoin de savoir s'il existe un outil ou un utilitaire qui peut réduire nos efforts.
- Quelle est la meilleure façon d'insérer un enregistrement en bloc à partir de différentes sources (principalement à partir de feuilles de calcul Excel)?
sql-server
bulk
import
kodvavi
la source
la source
Réponses:
SSIS est la voie à suivre. Si vous n'avez jamais créé de package auparavant et que vous savez que vos fichiers source (lire aussi: feuilles de calcul) seront toujours les mêmes, vous pouvez utiliser l'assistant d'importation / exportation de SQL Server. Dans la base de données SSMS, cliquez avec le bouton droit de la souris et sélectionnez Tâches> Importer (ou exporter) des données ...
Cela ouvre un assistant qui vous guide à travers les étapes de sélection de vos fichiers source / destination ainsi que des tables de destination (peut créer des tables si elles n'existent pas déjà). Vous devrez mapper les colonnes où aller, mais l'assistant est assez simple. Lorsque vous avez terminé, il vous demandera d'exécuter ou d'enregistrer le package (ou de faire les deux). Enregistrez le package. Cela enregistrera votre package au format .dtsx si vous choisissez de l'enregistrer dans le système de fichiers. Votre autre option consiste à enregistrer le package dans SQL Server lui-même, qui les conserverait ensuite dans la base de données système msdb.
Une fois que vous avez enregistré votre package, vous pouvez créer un travail SQL Agent pour exécuter ce package périodiquement (vous spécifiez la planification) afin de pouvoir toujours charger vos tables à l'aide de SSIS. Si vous souhaitez en savoir plus sur SSIS, consultez les webinaires gratuits de mon entreprise (nous couvrons toute la pile BI) sur PragmaticWorks
la source
Voici un exemple sur la façon d'importer des données d'Excel vers SQL Server. L'un des principaux problèmes consiste à s'assurer que vous utilisez le composant de conversion de données entre Excel et SQL Server et effectuez une conversion de NVARCHAR à VARCHAR car Excel traite les données comme NVARCHAR.
http://www.mssqltips.com/tip.asp?tip=1393
la source
Utilisez SQL Server Integration Services . C'est aussi simple que cela.
On ne peut pas vous montrer comment ici: c'est trop général
la source
Je ne m'en débarrasserais de rien
mr. gbn,Sankar Reddy,SQLChicken
. Mais je voudrais dire qu'il existe un moyen simple d'importer une feuille Excel dans SQL via TSQL 'OPENROWSET'.Par exemple, pour importer une
user
feuille Excel dans laTestDB
base de données. Supposons que j'ai déjà créé la[user]
table dansTestDB
Database. Ensuite, le simple openrowset TSQL serait mentionné ci-dessous comme çaRemarque: j'écris ce TSQL dans l'environnement SQL Server 2012. Pour chaque
OLEDB
fournisseur openrowset de serveur SQL sera différent. Veuillez vérifier leOLEDB
serveur de liaison -> fournisseur pris en charge pour cette version de SQL Server. Dans mon cas, ça l'estACE.OLEDB.12.0
. Avant l'importation, assurez-vous que cetteAllow inprocess
case est cochée ou non par ceMICROSOFT.ACE.OLEDB.12.0
fournisseur. Il faut vérifier comme çaRemarque: - Il est testé dans un environnement de production. Mais dans votre cas sans tester en environnement de test. Ne pas exécuter directement dans l'environnement de production.
la source