我是编程新手。我希望获得一些帮助来更正以下代码。
我有一个使用Azure SQL数据库的WinForms应用程序。总的来说,我正在尝试自动将CSV文件导入到cdrive位置。
我已经研究并尝试了BCP,但是未能通过我自己的帐户通过Azure的安全性....,我认为我的语法构建不正确。我也再次尝试了Blob存储选项,但运气不佳。我需要对这些选项做更多的研究。
如果我将以下内容直接应用于命令行
dtexec/f “C:\InboundWindow\ImportScript.dtsx
我输出成功的结果。考虑到这一点,我然后将fileSystemWatcher拖到了WinForms中,然后应用了以下代码。
private void fileSystemWatcher1_Created(object sender, FileSystemEventArgs e) {
// Process.Start("cmd", @"/C dtexec/f “C:\InboundWindow\ImportScript.dtsx");
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.Arguments = @ "/C dtexec/f “C:\InboundWindow\ImportScript.dtsx";
p.StartInfo.RedirectStandardOutput = false;
p.StartInfo.UseShellExecute = false;
p.StartInfo.CreateNoWindow = false; //don't show the console at all
p.Start();
// FullPath is the new file's path.
MessageBox.Show(string.Format("Created: {0} {1}", e.FullPath, e.ChangeType));
}
这是现在失败的地方,我尝试了在各种论坛上找到的许多变体,但是.dtsx文件从未导入到Azure SQL数据库中。但是,我收到一条返回消息,指出文件夹中的更改。
突出显示我要去哪里错误并更正以上内容的任何帮助都将非常有用。请耐心等待,因为我是C#和编程的新手。谢谢
您缺少"
Arguments的结尾,请尝试:
p.StartInfo.Arguments = @"/C dtexec/f ""C:\InboundWindow\ImportScript.dtsx""";
请参阅此处使用双引号和@
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句