我正在开发使用带有bcp实用程序的csharp将数据从文本文件插入表的工具。
我使用了以下代码,但它无效。表或文本文件没有问题。
private void button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(@"Data Source=ABPROCKET\MSSQL2008R2;Initial Catalog=Northwind;Integrated Security=True");
string sCommandText;
sCommandText = "exec xp_cmdShell 'bcp.exe' " + "PUBS.DBO.T1" + " IN " +@"D:\Text.Txt" + "-T" +" -c";
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandType = CommandType.Text;
cmd.CommandText = sCommandText;
cmd.ExecuteNonQuery();
MessageBox.Show("inserted");
}
我认为问题在于bcp命令及其参数。有人请帮我解决这个问题。
答案 0 :(得分:0)
尝试在bcp.exe
之后将单引号移至语句的末尾:
sCommandText = "exec xp_cmdShell 'bcp.exe " + "PUBS.DBO.T1" + " IN " +@"D:\Text.Txt" + "-T" +" -c'";