【发布时间】:2017-10-18 01:05:31
【问题描述】:
我正在尝试将数据插入 sql server varchar(max) 字段并保留换行符。这些是地址,换行符对于解析地址数据至关重要。我在一个窗口中运行输出以查看结果是什么,换行符在命令行中维护,但在插入 SQL Server 时没有
for dirpath, subdirs, files in os.walk(process):
for file in files:
dateadded = datetime.datetime.now()
if file.endswith(('.dbf', '.DBF')):
dbflocation = os.path.abspath(os.path.join(dirpath, file)).lower()
if dbflocation.__contains__("\\xxx.dbf"):
table = DBF(dbflocation, lowernames=True, char_decode_errors='ignore')
for record in table.records or table.deleted:
rec1 = record['key1']
rec2 = str(record['xxx1'])
rec3 = str(record['xxx2'])
rec4 = record['xxx3']
rec5 = str(record['xxx4'])
rec6 = record['address1'] #address to parse
# if table.delete == True:
# rec42 = 1
cursor.execute(
"insert into tblepiqclaims(key1,xxx1,xxx2,xxx3,xxx4,address1) values(?,?,?,?,?,?)",
rec1, rec2, rec3, rec4, rec5, rec6)
print rec6
cnxn.commit()
【问题讨论】:
-
如果您通过在 SQL Server Management Studio (SSMS) 中打开表来检查表,那么它可能会欺骗您。 SSMS 不在标准网格视图中显示换行符。您可以使用
CONVERT(VARBINARY, address1)查看值是否包含0D0A(对于VARCHAR)或0D000A00(对于NVARCHAR)来验证CR_LF 换行符是否确实存在。
标签: python python-2.7 pyodbc