C# 无法访问大容量插入c上的目标表#

C# 无法访问大容量插入c上的目标表#,c#,asp.net,sqlbulkcopy,C#,Asp.net,Sqlbulkcopy,我试图使用SqlBulkCopy以便在短时间内插入大量行。 我得到了错误信息: 无法访问目标表myTable 这是我的密码: string conn = ConfigurationManager.ConnectionString["myConnection"].ToString(); DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("Col1", typeof(string))); dt.Columns.Add(new

我试图使用SqlBulkCopy以便在短时间内插入大量行。 我得到了错误信息:

无法访问目标表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);
}
string conn=ConfigurationManager.ConnectionString[“myConnection”].ToString();
DataTable dt=新的DataTable();
Add(新数据列(“Col1”,typeof(string));
添加(新的数据列(“Col2”,typeof(int));

对于(int i=0;i我终于找到了答案。我的表名在[MyDatabase].[mySchema].[myTable]中。因此,在web.config中,我的连接字符串的初始Catalog=MyDatabase是正确的;但我还需要: bulkSql.DestinationTableName=“[mySchema].[myTable]”;
为了成功运行它。谢谢大家的帮助!

表是否确实存在于
[dbo]
架构中?可能值得明确说明您的架构。@tigerswithguitars表存在于我创建的[mySchema]架构中,所以我尝试了:bulkSql.DestinationTableName=“[mySchema]”[UploadData]“但仍然不起作用。连接字符串包含数据库名称吗?如果连接字符串连接到
主目录
,则需要在
DestinationTableName
上也包含该名称。@L.achiles连接字符串是否包含对
数据库={YourDatabaseName}
初始目录的引用?”={YourDatabaseName}
如果没有,那么您也需要将db添加到目标,即
YourDatabaseName.YourSchema.YourTable
。太棒了,很高兴它成功了。如果您对我上面的评论投赞成票,我将非常感谢:)@tigerswithguitars噢,很抱歉我还没有这么做。我是stackoverflow社区的新手。实际上我刚刚检查过,我需要15分的声誉,我有13分。对不起!