由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Database版 - SQL Server 如何把日期自动加入文件名中?
相关主题
请问sql server里面怎么输出变量到文本文件?SSIS: execute SQL task failed on Insert statements
问一个SQL Server的问题请帮忙读懂这个sql script
error of executing SQL query of string concatenation (转载求解,把一table 倒入SQL Server 出错
再请教大牛一个问题SQL help.
date format转换问题请教Why does this Stored procedure fail ?
SQL Server - convert datetime to a string YY-MM-DD HH请教2个sql query 问题
select 跟 set 的区别?How to replace 0 with empty?
请教:sql, 同时得出count_lastweek & count_allAbout INSERT IGNORE
相关话题的讨论汇总
话题: sql话题: daily话题: bulk话题: varchar话题: insert
进入Database版参与讨论
1 (共1页)
k**g
发帖数: 1558
1
我每天要bulk upload一个csv的文件,这个csv的 文件名有每天的日期,我用了下面的
语句,但是 出错,大家帮我一下吧?谢谢!
DECLARE @FileName VARCHAR(100)
SET @FileName='c:\DAILY_'+( CONVERT(VARCHAR(8),GETDATE(),112)+'.csv')
BULK INSERT DAILY
FROM @FileDate
WITH
(
FIRSTROW = 2,
FIELDTERMINATOR = ';',
ROWTERMINATOR = '\n'
)
Go
错误信息是:
Incorrect syntax near '@FileName'.
Msg 319, Level 15, State 1, Line 8
Incorrect syntax near the keyword 'with'. If this statement is a common
table expression or an xmlnamespaces clause, the previous statement must be
terminated with a semicolon.
y****w
发帖数: 3747
2
add ";" before "with".

【在 k**g 的大作中提到】
: 我每天要bulk upload一个csv的文件,这个csv的 文件名有每天的日期,我用了下面的
: 语句,但是 出错,大家帮我一下吧?谢谢!
: DECLARE @FileName VARCHAR(100)
: SET @FileName='c:\DAILY_'+( CONVERT(VARCHAR(8),GETDATE(),112)+'.csv')
: BULK INSERT DAILY
: FROM @FileDate
: WITH
: (
: FIRSTROW = 2,
: FIELDTERMINATOR = ';',

g***l
发帖数: 18555
3
我用个DOS BATCH FILE RENAME文件名,
copy yourFile %DATE%.txt
你用SSIS PACKAGE做个JOB也行,这样SCRIPT里你还能学点东西,文件名啊ARCHIVE啊都
好做。FTP啥的也都做了,出错还能报错。
y****w
发帖数: 3747
4
顺便问一下,sql server dba们有多少装个cygwin用shell的? powershell用的多么?

【在 g***l 的大作中提到】
: 我用个DOS BATCH FILE RENAME文件名,
: copy yourFile %DATE%.txt
: 你用SSIS PACKAGE做个JOB也行,这样SCRIPT里你还能学点东西,文件名啊ARCHIVE啊都
: 好做。FTP啥的也都做了,出错还能报错。

g***l
发帖数: 18555
5
俺不用POWERSHELL,一般的JOBS SSIS都包了,也可能是俺公司小SERVER少。

【在 y****w 的大作中提到】
: 顺便问一下,sql server dba们有多少装个cygwin用shell的? powershell用的多么?
y****w
发帖数: 3747
6
powershell做监控多些。不过感觉sql server这边大家更习惯去写sp.

【在 g***l 的大作中提到】
: 俺不用POWERSHELL,一般的JOBS SSIS都包了,也可能是俺公司小SERVER少。
g***l
发帖数: 18555
7
监控有专门的监控软件,自己写POWERSHELL小心别把SERVICE给STOP了,LOL

【在 y****w 的大作中提到】
: powershell做监控多些。不过感觉sql server这边大家更习惯去写sp.
y****w
发帖数: 3747
8
监控软件够用么?

【在 g***l 的大作中提到】
: 监控有专门的监控软件,自己写POWERSHELL小心别把SERVICE给STOP了,LOL
k**g
发帖数: 1558
9
不懂啊,是不是这样啊?谢谢!
BULK INSERT DAILY
FROM “@FileDate;”
WITH
(
FIRSTROW = 2,
FIELDTERMINATOR = ';',
ROWTERMINATOR = '\n'
)
Go
错误是:
Msg 4860, Level 16, State 1, Line 5
Cannot bulk load. The file "@FileDate;" does not exist.

【在 y****w 的大作中提到】
: add ";" before "with".
B*****g
发帖数: 34098
10
use dynamic sql

【在 k**g 的大作中提到】
: 我每天要bulk upload一个csv的文件,这个csv的 文件名有每天的日期,我用了下面的
: 语句,但是 出错,大家帮我一下吧?谢谢!
: DECLARE @FileName VARCHAR(100)
: SET @FileName='c:\DAILY_'+( CONVERT(VARCHAR(8),GETDATE(),112)+'.csv')
: BULK INSERT DAILY
: FROM @FileDate
: WITH
: (
: FIRSTROW = 2,
: FIELDTERMINATOR = ';',

相关主题
SQL Server - convert datetime to a string YY-MM-DD HHSSIS: execute SQL task failed on Insert statements
select 跟 set 的区别?请帮忙读懂这个sql script
请教:sql, 同时得出count_lastweek & count_all求解,把一table 倒入SQL Server 出错
进入Database版参与讨论
y****w
发帖数: 3747
11
ncorrect syntax near the keyword 'with'. If this statement is a common
table expression or an xmlnamespaces clause, the previous statement must be
terminated with a semicolon.
---错误信息很清楚啊。
sql server里面如果你要用CTE的话,with前面必须有分号。
所以有些人的风格就是
;with xx
........

【在 k**g 的大作中提到】
: 不懂啊,是不是这样啊?谢谢!
: BULK INSERT DAILY
: FROM “@FileDate;”
: WITH
: (
: FIRSTROW = 2,
: FIELDTERMINATOR = ';',
: ROWTERMINATOR = '\n'
: )
: Go

B*****g
发帖数: 34098
12
这个和CTE有神马关系?

be

【在 y****w 的大作中提到】
: ncorrect syntax near the keyword 'with'. If this statement is a common
: table expression or an xmlnamespaces clause, the previous statement must be
: terminated with a semicolon.
: ---错误信息很清楚啊。
: sql server里面如果你要用CTE的话,with前面必须有分号。
: 所以有些人的风格就是
: ;with xx
: ........

k**g
发帖数: 1558
13
还是不对阿
BULK INSERT DAILY
FROM @FileDate
;WITH
(
FIRSTROW = 2,
FIELDTERMINATOR = ';',
ROWTERMINATOR = '\n'
)
Go
错误信息
Msg 102, Level 15, State 1, Line 6
Incorrect syntax near '@FileDate'.

be

【在 y****w 的大作中提到】
: ncorrect syntax near the keyword 'with'. If this statement is a common
: table expression or an xmlnamespaces clause, the previous statement must be
: terminated with a semicolon.
: ---错误信息很清楚啊。
: sql server里面如果你要用CTE的话,with前面必须有分号。
: 所以有些人的风格就是
: ;with xx
: ........

g***l
发帖数: 18555
14
文件操作本来就是操作系统的东西,要么用DOS BATCH要么用SSIS里的SCRIPT,搞在C
DRIVE的根目录里,这也太不专业了吧。
y****w
发帖数: 3747
15
这说明不止一处错,
btw,你一会儿filename一会儿filedate干嘛呢,

【在 k**g 的大作中提到】
: 还是不对阿
: BULK INSERT DAILY
: FROM @FileDate
: ;WITH
: (
: FIRSTROW = 2,
: FIELDTERMINATOR = ';',
: ROWTERMINATOR = '\n'
: )
: Go

y****w
发帖数: 3747
16
没仔细看,看到with就想cte。 sql server好像见with就要加";"

【在 B*****g 的大作中提到】
: 这个和CTE有神马关系?
:
: be

B*****g
发帖数: 34098
17
你还在看sql server?打倒

【在 y****w 的大作中提到】
: 没仔细看,看到with就想cte。 sql server好像见with就要加";"
k**g
发帖数: 1558
18
写错了,filename 就是filedate.
c:\只是一个test,真正的file当然不会存在那里了。
大家帮忙看一下,如何bulk load一个日期在文件名中的csv?谢谢!

【在 y****w 的大作中提到】
: 这说明不止一处错,
: btw,你一会儿filename一会儿filedate干嘛呢,

B*****g
发帖数: 34098
19
already replied : dynamic sql

【在 k**g 的大作中提到】
: 写错了,filename 就是filedate.
: c:\只是一个test,真正的file当然不会存在那里了。
: 大家帮忙看一下,如何bulk load一个日期在文件名中的csv?谢谢!

k**g
发帖数: 1558
20
用了dynamic sql,还是出错。在with前加 了semicolon第二个error没有了,但是还是
有incorrect syntax near 'u:'
DECLARE @sql nvarchar(500)
SET @sql = 'BULK INSERT MSCIDAILY FROM u:\DAILY_'+(CONVERT(VARCHAR(8) ,
GETDATE(),112)+'.csv')+' WITH (FIRSTROW = 2,FIELDTERMINATOR = '';'',
ROWTERMINATOR = ''\n'')'
EXEC(@sql)
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'u:'.
Msg 319, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'with'. If this statement is a common
table expression or an xmlnamespaces clause, the previous statement must be
terminated with a semicolon.

【在 B*****g 的大作中提到】
: already replied : dynamic sql
相关主题
SQL help.How to replace 0 with empty?
Why does this Stored procedure fail ?About INSERT IGNORE
请教2个sql query 问题MS T-SQL 问题
进入Database版参与讨论
i****a
发帖数: 36252
21
print @sql
copy result
paste into query window, try to run that



【在 k**g 的大作中提到】
: 用了dynamic sql,还是出错。在with前加 了semicolon第二个error没有了,但是还是
: 有incorrect syntax near 'u:'
: DECLARE @sql nvarchar(500)
: SET @sql = 'BULK INSERT MSCIDAILY FROM u:\DAILY_'+(CONVERT(VARCHAR(8) ,
: GETDATE(),112)+'.csv')+' WITH (FIRSTROW = 2,FIELDTERMINATOR = '';'',
: ROWTERMINATOR = ''\n'')'
: EXEC(@sql)
: Msg 102, Level 15, State 1, Line 1
: Incorrect syntax near 'u:'.
: Msg 319, Level 15, State 1, Line 1

A*******n
发帖数: 625
22
declare @sql nvarchar(400)
set @sql='
BULK INSERT DAILY
FROM '+'"c:\DAILY_'+( CONVERT(VARCHAR(50),GETDATE(),112)+'.txt"')+'
WITH
(
FIRSTROW = 2,
FIELDTERMINATOR = '';''
ROWTERMINATOR = ''\n''
)'
exec (@sql)
it is working for me. try that.
A*******n
发帖数: 625
23
declare @sql nvarchar(400)
set @sql='
BULK INSERT DAILY
FROM '+'"c:\DAILY_'+( CONVERT(VARCHAR(50),GETDATE(),112)+'.txt"')+'
WITH
(
FIELDTERMINATOR = '';''
)'
exec (@sql)
try this.
A*******n
发帖数: 625
24
declare @sql nvarchar(400)
set @sql='
BULK INSERT DAILY
FROM '+'"c:\DAILY_'+( CONVERT(VARCHAR(50),GETDATE(),112)+'.txt"')+'
WITH
(
FIRSTROW = 2,
FIELDTERMINATOR = '';''
ROWTERMINATOR = ''\n''
)'
exec (@sql)
try this
A*******n
发帖数: 625
25
declare @sql nvarchar(400)
set @sql='
BULK INSERT DAILY
FROM '+'"c:\DAILY_'+( CONVERT(VARCHAR(50),GETDATE(),112)+'.csv"')+'
WITH
(
FIRSTROW = 2,
FIELDTERMINATOR = '';''
ROWTERMINATOR = ''\n''
)'
exec (@sql)
A*******n
发帖数: 625
26
DECLARE @SQL VARCHAR(400)
SET @SQL ='
BULK INSERT DAILY
FROM '+'"c :\DAILY_'+( CONVERT(VARCHAR(8),GETDATE(),112)+'.csv"')+'
WITH
(
FIRSTROW = 2,
FIELDTERMINATOR = ';',
ROWTERMINATOR = '\n'
)'
exec (@SQL)
试试看标点都对不对,差不多是这样。
A*******n
发帖数: 625
27
DECLARE @SQL VARCHAR(400)
SET @SQL ='
BULK INSERT DAILY
FROM '+'"c :\DAILY_'+( CONVERT(VARCHAR(8),GETDATE(),112)+'.csv"')+'
WITH
(
FIRSTROW = 2,
FIELDTERMINATOR = ';',
ROWTERMINATOR = '\n'
)'
exec (@SQL)
试试看标点都对不对,差不多是这样。
A*******n
发帖数: 625
28
'BULK INSERT MSCIDAILY FROM'+'" u:\DAILY_'+(CONVERT(VARCHAR(8) ,
GETDATE(),112)+'.csv"'
A*******n
发帖数: 625
29
dfgdg
k**g
发帖数: 1558
30
Thanks so much! It works for me too.

【在 A*******n 的大作中提到】
: declare @sql nvarchar(400)
: set @sql='
: BULK INSERT DAILY
: FROM '+'"c:\DAILY_'+( CONVERT(VARCHAR(50),GETDATE(),112)+'.csv"')+'
: WITH
: (
: FIRSTROW = 2,
: FIELDTERMINATOR = '';''
: ROWTERMINATOR = ''\n''
: )'

相关主题
请教一个在stored procedure 里用bcp的问题.问一个SQL Server的问题
stored procedure running 很慢的问题error of executing SQL query of string concatenation (转载
请问sql server里面怎么输出变量到文本文件?再请教大牛一个问题
进入Database版参与讨论
k**g
发帖数: 1558
31
发一圈包子.
B*****g
发帖数: 34098
32
你看我的回帖想出答案了还是抄楼上的?呵呵

【在 k**g 的大作中提到】
: 发一圈包子.
k**g
发帖数: 1558
33
结构分自己想的,两个“”抄楼上的。呵呵.

【在 B*****g 的大作中提到】
: 你看我的回帖想出答案了还是抄楼上的?呵呵
k********e
发帖数: 702
34
对不起,对不起,我来晚了
我的答案是“用 dynamic SQL"
对不对?
k**g
发帖数: 1558
35
那我也给你个包子。。。

【在 k********e 的大作中提到】
: 对不起,对不起,我来晚了
: 我的答案是“用 dynamic SQL"
: 对不对?

k********e
发帖数: 702
36
ft
原来前面已经有人回答过了
受之有愧呀

【在 k**g 的大作中提到】
: 那我也给你个包子。。。
1 (共1页)
进入Database版参与讨论
相关主题
About INSERT IGNOREdate format转换问题请教
MS T-SQL 问题SQL Server - convert datetime to a string YY-MM-DD HH
请教一个在stored procedure 里用bcp的问题.select 跟 set 的区别?
stored procedure running 很慢的问题请教:sql, 同时得出count_lastweek & count_all
请问sql server里面怎么输出变量到文本文件?SSIS: execute SQL task failed on Insert statements
问一个SQL Server的问题请帮忙读懂这个sql script
error of executing SQL query of string concatenation (转载求解,把一table 倒入SQL Server 出错
再请教大牛一个问题SQL help.
相关话题的讨论汇总
话题: sql话题: daily话题: bulk话题: varchar话题: insert