BCP通过C夏普

时间:2013-04-10 20:00:48

标签: c# sql-server-2008-r2

我正在开发使用带有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命令及其参数。有人请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

尝试在bcp.exe之后将单引号移至语句的末尾:

sCommandText = "exec xp_cmdShell 'bcp.exe " + "PUBS.DBO.T1" + " IN " +@"D:\Text.Txt" + "-T" +" -c'";