每次尝试使用Sqlbulkcopy将数据从数据表复制到sql数据库时,我都会收到一条错误消息。 这是我正在使用的代码:
static void InsertDataIntoSQLServerUsingSQLBulkCopy(DataTable csvFileData)
{
using (SqlConnection dbConnection = new SqlConnection(@"Data Source=DESKTOP-LNCGI78\SQLEXPRESS;Initial Catalog=Testdatabase;Integrated Security=SSPI;"))
{
dbConnection.Open();
using (SqlBulkCopy s = new SqlBulkCopy(dbConnection))
{
s.DestinationTableName = "dbo.Table";
foreach (var column in csvFileData.Columns)
s.ColumnMappings.Add(column.ToString(), column.ToString());
s.WriteToServer(csvFileData);
}
}
}
这是错误:System.InvalidOperationException:'无法访问目标表。 我检查了写入表的权限,一切似乎都很好,我尝试在其中成功插入一些行。我不知道我想念什么或做错了什么。
答案 0 :(得分:0)
表字是SQL Server中的保留字,因此您需要添加方括号:
s.DestinationTableName = "dbo.[Table]";
答案 1 :(得分:0)
我有一个类似的问题,我所做的只是s.DestinationTableName="[TableName]"
。
所以没有dbo。[TableName]只是[TableName]