【问题标题】:bcp utility with Visual C#带有 Visual C# 的 bcp 实用程序
【发布时间】:2015-03-26 10:41:45
【问题描述】:

我尝试在 Visual C# 中使用 SQL Server bcp 实用程序,如下所示:

command = new SqlCommand ("bcp "+ onlineConnect.Database+".dbo.T1 out "+ ConfigurationManager.AppSettings ["caleonline"]+"T1.dat -n -S " + onlineConnect.DataSource+" -U sa -P a" ,onlineConnect ); 

当我用断点运行它时,我得到了这个:

CommandText 
"bcp ONLINE.dbo.T1 out H:\\ONLINE\\fisiere\\T1.dat -n -S ATTY\\SQLEXPRESS -U sa -P a"   

但我得到一个错误:

System.Data.SqlClient.SqlException 未处理 Message='.' 附近的语法不正确。

【问题讨论】:

  • 你试过用引号将文件路径括起来吗?
  • 调用bcp 不是 SQL 语句,因此您不能为此使用SqlCommand。只需将bcp 实用程序作为外部程序 调用(使用Process.Start 或类似的东西)
  • 你是对的,与 Process.Start 一起工作正常

标签: c# bcp


【解决方案1】:

在命令前加上exec xp_cmdShell

command=new SqlCommand ("exec xp_cmdShell 'bcp.exe'"+ onlineConnect.Database+".dbo.T1 out "+ ConfigurationManager.AppSettings ["caleonline"]+"T1.dat -n -S " + onlineConnect.DataSource+" -U sa -P a" ,onlineConnect );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-16
    • 2010-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多