C# 为什么我的bcp查询不起作用?

C# 为什么我的bcp查询不起作用?,c#,bcp,C#,Bcp,我是C#的初学者,我想在C#中使用bcp实用程序,为此,我编写了以下代码: string connstr = "Data Source=192.168.50.172;Initial Catalog=CDRDB;User ID=CDRLOGIN;Password=beh1368421"; //string connstr = "Enter your connection string here"; System.Diagnostics.Process proc = new System.

我是C#的初学者,我想在C#中使用
bcp
实用程序,为此,我编写了以下代码:

 string connstr = "Data Source=192.168.50.172;Initial Catalog=CDRDB;User ID=CDRLOGIN;Password=beh1368421"; 

 //string connstr = "Enter your connection string here";
 System.Diagnostics.Process proc = new System.Diagnostics.Process();
 proc.StartInfo.FileName = "bcp";
 proc.StartInfo.Arguments = @"select * from CDRTABLE"" queryout c:\filename.csv -S 192.168.50.172 -U CDRLOGIN -P beh1368421 -f -w";
 proc.Start();

该代码会运行,但不会在我的
C:\
驱动器上创建
filename.csv
。怎么搞的?如何解决此问题?

对于从
System.Diagnostics.Process()
执行的
Bcp
,应使用
-c
-CRAW
选项

下面是示例代码

string execPath = @"..\bcp.exe";
string localFile = @"MetaData.Table";
string localPath = @"..\OutputFolder";

System.Diagnostics.Process P = new System.Diagnostics.Process();
P.StartInfo.UseShellExecute = false;
P.StartInfo.RedirectStandardOutput = true;
P.StartInfo.RedirectStandardError = true;
P.StartInfo.CreateNoWindow = true;
P.StartInfo.FileName = execPath;

P.StartInfo.Arguments = string.Concat("\"", "MetaData.Table", "\" out \"", localPath, "\\", localFile, ".dat\" -c -C RAW -t\"", separator, "\" -S \"", "(local)", "\" -T");

P.Start();
P.WaitForExit();
P.Close();
P.Dispose();
您还可以使用
bulkinsert
Transact-SQL语句和
SqlCommand
ExecuteNonQuery
方法在C#code中使用BCP

类似于以下的方法将起作用:

sCommandText = "exec xp_cmdShell 'bcp.exe'"+Database + ".." + TableName + " in "  + 
                 FileName + " -c -q -U " + UserId + " -P " + Password +  "-t  ";

SqlConnection conn = new SqlConnection(ConnectionString);
conn.Open(); 

SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = sCommandText;

return cmd.ExecuteNonQuery();

什么是?需要一个领导“。打印字符串并从控制台手动尝试。@UweKeim BCP使用sql server中的从其他sql server数据库读取并将查询结果写入csv文件BCP:BCP实用程序以用户指定的格式在Microsoft sql server实例和数据文件之间批量复制数据。当别人回答你的问题时,你会问多少次BCP问题而不跟进???我记得在最近的将来,至少有两次你干脆放弃了。这些答案对你有帮助吗?他们没有帮助你吗?当人们回答你的问题并对他们为帮助你所付出的努力表示尊重时,至少发表一条评论怎么样。