2009-12-01 4 views
0

j'utilise SqlBulkCopy pour insérer des données à partir OleDbDataReader (contient des données de xls) à MSSQL-2005 j'ai un cloumn sur le OleDbDataReader qui contient le numéro stocké sous forme de texte (dans le xls)SqlBulkCopy problème

quand je regarde en les données mssql je vois null dans cette colonne toutes les autres colonnes se déplacent ok.

link text

Répondre

3

vous devez mapper des colonnes comme dans le code ...

using (SqlBulkCopy bulkCopy = new SqlBulkCopy(destConnection)) 
     { 
      bulkCopy.ColumnMappings.Add("ID", "ID"); 
      bulkCopy.ColumnMappings.Add("Email", "Email"); 
      bulkCopy.DestinationTableName = "tableName"; 
      bulkCopy.WriteToServer(ExcelReader); 
     } 
1

Lorsqu'un des copies en vrac de SQL Server à SQL Server, la source est en mesure d'indiquer très bien les types de données à la destination. Avec Excel, la source fait des suppositions sur le type de données. Vous pouvez avoir l'Excel au format texte, mais la source (ODBC?) Peut regarder les 50 premières lignes et deviner qu'il s'agit d'un type de données numérique. Même si les noms de colonnes correspondent, si les types de données sont différents, je suppose que la colonne n'est pas remplie.

Questions connexes