【发布时间】:2021-11-13 18:35:30
【问题描述】:
我正在尝试将 CSV 文件加载到本地 SQL Server,我尝试在我的 C# 代码中使用 BCP 实用程序,这是我所做的并面临以下错误。
注意:我创建了一个 SQL 表名 AzureBlob,其中已经有 2 列,其中没有数据。
static void Main(string[] args)
{
string strCmdText;
strCmdText = "/C bcp master..AzureBlob out C:\\data\\blbTest.csv -S .\\ -c -C RAW -T";
Process process = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = strCmdText;
process.StartInfo = startInfo;
process.Start();
process.WaitForExit();
process.Close();
process.Dispose();
}
我收到以下消息,但是它不会将任何记录复制到 SQL 表:任何指针
开始复制 已复制 0 行
我的示例 CSV 文件有两列,其中包含示例文本: A 列 B 列 你好世界
【问题讨论】:
-
您可以使用 BULK INSERT Transact-SQL 语句执行 BCP,也可以使用 SqlCommand 的 ExecuteNonQuery 方法来执行。
-
如果从文件加载表格,方向应该是
in而不是out。我建议您避免将主系统数据库用于用户表。 -
@DanGuzman 谢谢,我已将命令修改如下,但仍然没有运气。
strCmdText = "/C bcp msdb..AzureBlob in C:\\PoornimaDevelop\\BlobQuickstartV12\\data\\blbTest.csv -S .\\ -c -C RAW -T"; -
@DaleK 问题已修正。谢谢
标签: c# sql-server csv bcp