这是我们将日志插入数据库的代码:
SET @SQL = 'BULK INSERT #tbl_Temp FROM '
+ ''''
+ @PathFileName
+ ''''
+ ' WITH (FIELDTERMINATOR ='
+ ' ''|'''
+ ','
+ ' ROWTERMINATOR = '
+ ' ''|\n'''
+ ','
+ ' CHECK_CONSTRAINTS, KEEPIDENTITY, MAXERRORS = 30)'
基本上,我们批量插入的日志文件是用管道字符分隔的,上面的代码可以正常工作,但是如果一个字段|
的值包含管道,例如加密字段,则此 SQL 代码无法处理它。
有哪些方法可以解决此类问题?
如果 BULK INSERT 不可用,那么在不修改日志格式的情况下应该是什么解决方案,因为它已经在生产中。