Maison > Article > tutoriels informatiques > Quelles sont les étapes et méthodes pour insérer des données dans la base de données SQL SERVER ?
1. Ouvrez SQL2008 et connectez-vous en utilisant l'identité Windows
2. Après vous être connecté, faites un clic droit et sélectionnez « Propriétés ». Sélectionnez « Sécurité » à gauche et cochez « Mode d'authentification SQL Server et Windows » à droite pour activer le mode de connexion mixte
3. Sélectionnez « Connecter », cochez « Autoriser les connexions à distance à ce serveur », puis cliquez sur « OK »
4. Développez « Sécurité », « Nom de connexion » ; « sa », faites un clic droit et sélectionnez « Propriétés »
5. Sélectionnez "Général" à gauche, sélectionnez "Authentification SQL Server" à droite et définissez un mot de passe
6. Faites un clic droit sur la base de données et sélectionnez "Aspect"
7. Sélectionnez « Configuration du serveur » dans la liste déroulante à droite ; définissez la propriété « RemoteAccessEnabled » sur « True » et cliquez sur « OK »
.8. SSMS a été configuré maintenant. Déconnectez-vous d'abord, puis connectez-vous avec sa. Le succès signifie que le compte sa a été activé
.9. Ouvrez le gestionnaire de configuration du serveur SQL
10. Ensuite, commencez à configurer SSCM. Sélectionnez « SQL Server Service » à gauche et assurez-vous que « SQL Server » et « SQL Server Browser » à droite sont en cours d'exécution
.Dans l'analyseur de requêtes, sélectionnez Lee pour exploiter les objets de la base de données et écrire directement les instructions SQL :
Si vous importez des données dans une table existante, utilisez
INSERT INTO table SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=OUI;DATABASE=c:test.xls',sheet1$)
Formulaire
Si vous importez des données et ajoutez une nouvelle table, utilisez
SELECT * INTO table FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=OUI;DATABASE=c:test.xls',sheet1$)
formulaire.
L'instruction ci-dessus est à lire dans toutes les colonnes de la feuille de calcul SHEET1 du fichier EXCEL. Si vous souhaitez importer uniquement certaines colonnes, vous pouvez
.INSERT INTO table (a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:test.xls',sheet1$)
En fait, vous pouvez utiliser OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:test.xls',sheet1$) sous forme de tableau par exemple, j'ai écrit cette phrase :
INSÉRER DANS eval_channel_employee(channel,employee_id)
SELECT CASE a.Channel QUAND 'DIY' PUIS 1 QUAND 'RDC' PUIS 0 QUAND 'KCM' PUIS 2 ELSE 3 END
,b.id DE
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:tempname.xls',sheet1$) AS a,pers_employee b
OÙ a.Code de l'employé =b.code
Facile :
La fonction d'importation peut être directement implémentée dans SQL2005. Je ne sais pas si c'est possible dans SQL2008.
Le processus de fonctionnement est le suivant :
Étape 1 : Connectez-vous à SQL Server Management Studio,
Étape 2 : cliquez avec le bouton droit sur "Gérer" dans "Explorateur d'objets" et cliquez sur "Importer des données" dans la liste contextuelle
Étape 3 : Cliquez sur "Suivant" dans la boîte de dialogue "Assistant d'importation", entrez dans la boîte de dialogue "Sélectionner la source de données", sélectionnez "Microsoft Excel" dans la liste "Source de données" et sélectionnez le document Excel correspondant. " une fois terminé (assurez-vous de cocher "La première ligne contient les noms de colonnes" dans cette boîte de dialogue, afin que les titres des colonnes du document Excel soient remplacés par les titres des éléments de colonne dans la table de base de données)
Étape 4 : Spécifiez le service de base de données cible, cliquez sur "Suivant"... jusqu'à "Terminer"
Étape 5 : entrez à nouveau dans SQL Server Management Studio, entrez la table de base de données importée et vous pourrez trouver les données du document Excel importées.
Vous pouvez essayer ce qui suit :
Ouvrez le gestionnaire de configuration SQL Server et activez l'agent SQL Server (nom de l'instance). Changez le mode de démarrage en "Automatique"
2.SqlBulkCopy est un bon choix, il peut être importé directement dans la base de données depuis DataTable
, mais veuillez noter que (1) le nom de la colonne est cohérent avec la table cible (2) le type de données est cohérent (3) traitement de tolérance aux pannes de valeur nulle, code de référence : /// Les données sont insérées dans la base de données par lots. ///
À insérer par lots
///
La quantité de données écrites dans chaque lot. (DataTable dataTable,(DataTable dataTable, stringtableName, intbatchSize =10000){using(SqlConnection connection =newSqlConnection(myConnectionString)){try{connection.Open(); //Ajoutez des caractères de début et de début au nom de la table en utilisant(varbulk =newSqlBulkCopy(connection, SqlBulkCopyOptions.KeepIdentity, null){DestinationTableName=tableName, BatchSize=batchSize}) {//Parcourez toutes les colonnes et ajoutez un mappage pour Bulk//dataTable.EachColumn(c = Bulk.ColumnMappings.Add(c.ColumnName, c.ColumnName), c = !c.AutoIncrement);foreach ( DataColumn dcindataTable.Columns){bulk.ColumnMappings.Add(dc.ColumnName, dc.ColumnName);}bulk.WriteToServer(dataTable); bulk.Close();}returntrue;}catch(Exception exp){returnfalse;}finally{connection.Close();}}} 3. Si la quantité de données est très importante, supérieure à 10W, vous pouvez envisager de générer un fichier .dtsx puis de l'appeler directement depuis le code C#. L'efficacité est toujours bonne.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!