问题  尝试使用存储过程将数据导出到CSV文件中

mp3909

众所周知的成员
加入
2018年4月22日
消息
61
地点
英国
编程经验
3-5
有人可以帮我解决我在附加文件中的错误。
 

附件

  •  capture.jpg.
    capture.jpg.
    196.2 KB · Views: 160

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,731
地点
悉尼,澳大利亚
编程经验
10+
什么错误?我们甚至不能在该图像中看到它。请不要首先发布文本的图像。代码是文本,错误消息也是如此,因此您可以将它们作为文本发布,适当格式化。这样,我们可以复制并粘贴它们以测试或搜索。屏幕截图可以在某些情况下提供帮助,但永远不应该是主要信息来源。在这种情况下,它甚至没有帮助。
 

juggalobrotha

工作人员
加入
2011年4月23日
消息
177
地点
兰辛,MI;美国
编程经验
10+
实际上图像中存在错误,但我同意这是一个不太有效的图像。
此外,我知道你要询问使用存储过程,但您是否考虑过使用SSIS?

我问的原因是,即使有可能使用存储过程将数据写入文件,这不是真正的意思是SSIS是& is free.
 

mp3909

众所周知的成员
加入
2018年4月22日
消息
61
地点
英国
编程经验
3-5
我尝试执行以下内容

SQL:
declare @sql varchar(8000)

select @sql = 'bcp [sample].[dbo].[fams] out C:\Users\mp88_\OneDrive\Desktop\samplefile.txt -c -t, -T -S' + @@servername

exec master..xp_cmdshell @sql

NULL

但我收到以下错误

sqlstate = s1000,nativeerror = 0

ERROR = [Microsoft] [SQL Server的ODBC驱动程序13]无法打开BCP主机数据文件

显然我知道这意味着它无法访问该文件,但我尝试启用此但仍然没有工作。也许我并没有采取正确的步骤给它访问该文件?

我不使用SSI的原因是因为我没有SSI的任何经验。我正在尝试自动执行此任务,其中我有2个具有许多数据列的Excel文件,我需要将它们巩固到一个Excel文件中,然后从那里巩固它们,使用户根据他们的偏好,可以灵活地在Excel中创建输出文件从此统一文件中想要哪个列。所以我在想,如果我可以将这两个输出文件加载到SQL中,那么写一个查询要使用联盟加入它们(如果它们在两个文件中具有相同数量的列和数据类型的列和数据类型相同)否则使用全加入。然后,用户可以编写一个选择查询,指定他们想要从这个大表中选择的列。然后最后一部分是将此结果导出到Excel中,这就是为什么我在线程上询问这个问题;使用存储过程期望数据进入Excel。
 
最后编辑了主持人:
最佳 底部