web-dev-qa-db-fra.com

Comment faire pour insérer en vrac Extension de fichier XLSX?

Quelqu'un peut-il conseiller comment insérer en bloc du fichier .xlsx?

J'ai déjà essayé la requête ci-dessous:

BULK INSERT #EVB FROM 'C:\Users\summer\Desktop\Sample\premise.xlsx' 
WITH (FIELDTERMINATOR = '\t', ROWTERMINATOR = '\n', FIRSTROW = 2);

SELECT * FROM #EVB

J'ai aussi essayé avec FIELDTERMINATOR like "**\t**", "**,**", "**;**", "**|**", mais cela ne fonctionne pas non plus.

Malheureusement, il n'y a pas de message d'erreur.

5
SƲmmēr Aƥ

vous pouvez enregistrer le fichier xlsx en tant que fichier texte délimité par des tabulations et 

BULK INSERT TableName
        FROM 'C:\SomeDirectory\my table.txt'
            WITH
    (
                FIELDTERMINATOR = '\t',
                ROWTERMINATOR = '\n'
    )
GO
22
wootscootinboogie

Vous devez utiliser OPENROWSET

Cochez cette question: import-Excel-tableur-colonnes-dans-base-serveur-SQL

3
Turque

Créer un serveur lié à votre document

http://www.Excel-sql-server.com/Excel-import-to-sql-server-using-linked-servers.htm

Puis utilisez ordinaire INSERT ou SELECT INTO. Si vous voulez avoir du chic, vous pouvez utiliser SqlBulkCopy d'ADO.NET, qui prend à peu près toutes les sources de données desquelles vous pouvez obtenir un DataReader et est assez rapide lors de l'insertion, bien que la lecture des données ne soit pas très rapide.

Vous pouvez également prendre le temps de transformer une feuille de calcul Excel en un fichier délimité par du texte ou en un autre format pris en charge par bcp , puis d’utiliser BCP.

1
MatthewMartin

Cela peut être fait à l'aide de Assistant d'importation et d'exportation SQL Server. Mais si vous connaissez SSIS et ne souhaitez pas exécuter l'Assistant d'importation et d'exportation SQL Server, créez un package SSIS utilisant la source Excel et la destination SQL Server dans le flux de données.

0
madhukar mohan