c# - 无法访问批量插入 c# 上的目标表

标签 c# asp.net sqlbulkcopy

我正在尝试使用 SqlBulkCopy 以便在短时间内插入大量行。 我收到错误:"

Cannot access destination table myTable.

这是我的代码:

string conn = ConfigurationManager.ConnectionString["myConnection"].ToString();
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("Col1", typeof(string)));
dt.Columns.Add(new DataColumn("Col2", typeof(int)));
for (int i=0;i<10000;i++)
{
   DataRow dr = dt.NewRow();
   dr["Col1"] = "Col1_" + i.toString();
   dr["Col2"] = i;
}
using (SqlBulkCopy bulkSql = new SqlBulkCopy(conn))
{
   bulkSql.BatchSize = 10000;
   bulkSql.BulkCopyTimeout = 10000;
   bulkSql.ColumnMappings.Clear();
   bulkSql.ColumnMappings.Add("Col1", "Col1");
   bulkSql.ColumnMappings.Add("Col2", "Col2");
   bulkSql.DestinationTableName = "[myTable]"
   bulkSql.WriteToServer(dt);
}

最佳答案

我终于找到了答案。我的表名在 [MyDatabase].[mySchema].[myTable] 中。所以在 web.config 中我的连接字符串正确地有 Initial Catalog=MyDatabase;但我还需要: bulkSql.DestinationTableName = "[mySchema].[myTable]"; 为了成功运行它。谢谢大家的帮助!

关于c# - 无法访问批量插入 c# 上的目标表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45013701/

相关文章:

c# - 如何异步调用方法?

asp.net - VS 2008 中“事件”选项卡随机出现和消失

Visual COBOL 中的 ASP.NET 服务器端脚本编写

sql-server - 在 Amazon RDS 上跨 SQL Server 2012 实例复制非常大的表时出现持续超时问题

c# - C#-程序添加一个额外的'找到'的地方

c# - 日历数据库架构的最佳实践?

c# - 无法逃脱的打开文件夹

asp.net - 在 asp.net 中缓存 sql server 数据,直到行被修改

.net - 使用 CLR 将数据从 Excel 导入到 SQL Server 时出错

c# - SqlBulkCopy 不工作