Cette requête utilise bulk insert
pour enregistrer le fichier dans un #temptable
puis insère le contenu de cette table temporaire dans la table que vous voulez dans la base de données, mais le fichier importé est .csv
. vous pouvez juste enregistrer votre fichier Excel comme csv
, avant de le faire.
CREATE TABLE #temptable (col1,col2,col3)
BULK INSERT #temptable from 'C:\yourfilelocation\yourfile.csv'
WITH
(
FIRSTROW = 2,
fieldterminator = ',',
rowterminator = '0x0A'
) `
INSERT INTO yourTableInDataBase (col1,col2,col3)
SELECT (col1,col2,col3)
FROM #temptable
Automatiser, vous pouvez mettre cela à l'intérieur d'une procédure stockée et appeler la procédure stockée en utilisant ce code batch.Edit et de mettre cela à l'intérieur textfile
et enregistrer en tant que cmd
set MYDB= yourDBname
set MYUSER=youruser
set MYPASSWORD=yourpassword
set MYSERVER=yourservername
sqlcmd -S %MYSERVER% -d %MYDB% -U %MYUSER% -P %MYPASSWORD% -h -1 -s "," -W -Q "exec yourstoredprocedure"
La réponse est oui - il existe plusieurs outils que vous pourriez utiliser. Un peu de googling vous donnerait cette réponse. –