我從文本文件數據到數據表,現在當我試圖將數據插入到SQL Server 2008數據庫,我收到以下錯誤:出現InvalidOperationException試圖bulkInsert的數據表到SQL Server
InvalidOperationException: String or binary data would be truncated
我無法得到錯誤的來源,即哪個記錄拋出這個錯誤。
的代碼是如下
for (int i = 0; i < dt.Columns.Count; i++)
{
if (i == 159)
{
}
bulkCopy.ColumnMappings.Add(dt.Columns[i].ColumnName,DestTable.Columns[i].ColumnName);
}
bulkCopy.BulkCopyTimeout = 600;
bulkCopy.DestinationTableName = "dbo.TxtFileInfo";
bulkCopy.WriteToServer(dt);
我在dt
變量的數據表。並且爲從文本文件創建的兩個數據表以及在數據庫中創建的空表創建匹配的列,以向其添加值。
我已經使用下面的代碼將文本文件中的所有記錄複製到數據表中。
while (reader.Read())
{
int count1 = reader.FieldCount;
for (int i = 0; i < count1; i++)
{
string value = reader[i].ToString();
list.Add(value);
}
dt.Rows.Add(list.ToArray());
list.Clear();
}
我從文本文件中獲得了正確的記錄。列數也是相等的。我的數據庫表TextToTable
具有數據類型nvarchar(50)
的所有列,我從文本文件中以字符串形式提取每條記錄。但大宗期間插入所示的錯誤是
Cannot convert string to nvarchar(50)
分享你表strucutre ....似乎您試圖插入其在DB少長數據(例如:你有數據長度20,但在DB只接受10) – Prathyush
在我的表中的每一列都有數據類型nvarchar(50)。 – SAM
然後檢查來自文本文件的數據。有條件檢查你的代碼中的數據長度,並有斷點排除故障。 – Prathyush