Insertion de plus de 1000 lignes à partir d'Excel dans SQL Server

Je suis nouveau à Sql mais quelle est la meilleure façon d'insert plus de 1000 lignes d'un document Excel dans ma database (Sql Server 2008).

Par exemple j'utilise la requête ci-dessous:

INSERT INTO mytable(companyid, category, sub, catalogueref) VALUES ('10197', 'cat', 'sub', '123'), ('10197', 'cat2', 'sub2', '124') 

Cela fonctionne bien mais il y a une limite d'insertion de 1000 loggings et j'ai 19000 loggings et je ne veux pas vraiment faire 19 instructions d'insertion séparées et une autre question, c'est que l'identifiant de l'entreprise est toujours le même l'écrire 19000 fois?

Microsoft fournit un assistant d'import avec SQL Server. Je l'ai utilisé pour migrer des données provenant d'autres bases de données et de feuilles de calcul. C'est assez robuste et facile à utiliser.

Il suffit de modifier datatables dans Excel ou un autre programme pour créer N nombre d'instructions d'insertion avec un seul insert pour chaque déclaration, vous aurez un nombre illimité d'insertions. Par exemple…

 INSERT INTO table1 VALUES (6696480,'McMurdo Station',-77.846,166.676,'Antarctica','McMurdo') INSERT INTO table1 VALUES (3833367,'Ushuaia',-54.8,-68.3,'America','Argentina') ...19,000 later INSERT INTO table1 VALUES (3838854,'Rio Grande',-53.78769,-67.70946,'America','Argentina') 

Il y a plusieurs options, l'assistant d'import qu'Erik suggère, ou SSIS est un autre bon choix.

Lisez ici: Importer des colonnes de feuille de calcul Excel dans la database SQL Server

Vous devriez être capable d'insert en utilisant plusieurs transactions –

 BEGIN TRANSACTION Insert into mytable(companyid,category,sub,catalogueref) values ('10197','cat', sub','123'), ('10197','cat2', sub2','124') ...998 more rows... COMMIT TRANSACTION go BEGIN TRANSACTION Insert into mytable(companyid,category,sub,catalogueref) values ('10197','cat', sub','123'), ('10197','cat2', sub2','124') ...998 more rows... COMMIT TRANSACTION