J'utilise le SqlBulkCopy
pour insérer quelques millions de lignes générées dans une base de données. Le seul problème est que la table dans laquelle j'insère l'objet possède une colonne d'identité. J'ai essayé de définir le paramètre SqlBulkCopyOptions
a SqlBulkCopyOptions.KeepIdentity
et en fixant la colonne d'identité à 0
's, DbNull.Value
y null
. Aucune d'entre elles n'a fonctionné. J'ai l'impression de passer à côté de quelque chose de très simple, si quelqu'un pouvait m'éclairer, ce serait fantastique. Merci.
modifier Pour clarifier, je n'ai pas les valeurs d'identité définies dans le fichier d'identité de l'utilisateur. DataTable
Je suis en train d'importer. Je veux qu'ils soient générés dans le cadre de l'importation.
modifier 2 Voici le code que j'utilise pour créer la base SqlBulkCopy
objet.
SqlBulkCopy sbc = GetBulkCopy(SqlBulkCopyOptions.KeepIdentity);
sbc.DestinationTableName = LOOKUP_TABLE;
private static SqlBulkCopy GetBulkCopy(SqlBulkCopyOptions options =
SqlBulkCopyOptions.Default)
{
Configuration cfg = WebConfigurationManager.OpenWebConfiguration("/RSWifi");
string connString =
cfg.ConnectionStrings.ConnectionStrings["WifiData"].ConnectionString;
return new SqlBulkCopy(connString, options);
}