我正在尝试学习sql编程的基础知识,我正在使用SQL Server 2014.我已设法使用以下命令将文件导入表中:
BULK INSERT Db.dbo.Co2_table
FROM 'd:\dataset_co2.txt'
with
(
FIRSTROW =2,
ROWTERMINATOR ='\n'
)
GO
我想进行双重操作,即将表的内容导出到文件。我试过了:
SELECT *
INTO OUTFILE 'C:\datadump\sqldbdump.txt"
FROM dbo.alarms_2_2014
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
bcp Db.dbo.Co2_table out "C:\users\ws5.en-cre\desktop\prova.txt" -T –c
sqlcmd -S . -d Db -E -s, -W -Q "SELECT * FROM dbo.Co2_table" > ExcelTest.csv
但这些似乎都不起作用(我收到错误消息)。有什么想法吗?
答案 0 :(得分:0)
我怀疑您正在从Management Studio运行这些命令。您应该使用console来执行此命令。这对我有用。还要检查您是否对该文件夹有权限。
bcp "select * from Db.dbo.Co2_table" queryout C:\users\ws5.en-cre\desktop\prova.txt -c -T
或
bcp Db.dbo.Co2_table out C:\users\ws5.en-cre\desktop\prova.txt -c -T
您在c
参数-T –c
中也有可疑符号。它不是常规短划线-
。
答案 1 :(得分:0)
感谢您的回答和建议,并为我的精确度和我的迟到回复道歉(在这种情况下,我错过了来自stackoverflow的通知)。
关于我是否使用mstudio或控制台的问题,我所做的是点击mstudio中的“新查询”,编写代码并按下执行。所以我猜答案是我使用的是mstudio。
如果我尝试:
bcp "select * from Db.dbo.Co2_table" queryout
C:\users\ws5.en-cre\desktop\prova.txt -c –T
它说
Msg 102, Level 15, State 1, Line 1 Incorrect syntax near 'queryout'.
我想在这种情况下,其中一个问题是缺少引号,但即使添加它们也无法解决问题。
我正在寻找可以作为脚本实现的解决方案。我熟悉excel vba宏,我想实现类似的东西。
谢谢,
亚历