这是我们将日志插入数据库的代码:
SET @SQL = 'BULK INSERT #tbl_Temp FROM '
+ ''''
+ @PathFileName
+ ''''
+ ' WITH (FIELDTERMINATOR ='
+ ' ''|'''
+ ','
+ ' ROWTERMINATOR = '
+ ' ''|\n'''
+ ','
+ ' CHECK_CONSTRAINTS, KEEPIDENTITY, MAXERRORS = 30)'
基本上,我们批量插入的日志文件是管道符分隔的,上面的代码工作正常,但是如果一个字段的值中包含管道|
,例如加密字段,则此SQL代码无法处理它。
解决此类问题的方法有哪些?
如果BULK INSERT不具备,那么在不修改日志格式的情况下应该是什么解决方案,因为它已经在生产中。
答案 0 :(得分:0)
我们所做的是指定一个多字符分隔符,例如'!@#$%^& *()',它运行正常。但是,如果您对生成日志文件的软件具有控制权,那么这当然是