OUIWW 发表于 2021-3-3 13:42:47

db2数据库,怎么按行读取并做一些判断,然后读取下一行啊

求助,工作中遇到一个问题,一个表中字段cocusnam可能含有非法字符,导致通过odbc无法download该表,想做一个小工具,逐行判断表中该字段是否合法,如果不合法,则记录该行的key,然后继续读取并判断下一行。
最后输出所有非法记录的key。

con_string = "Driver={iSeries Access ODBC Driver};System=" + sys + ";Database=" + sys + ";UID=" + user_id + ";pwd=" + password + ";SSL=NO;SLATE=0"
cnxn = pyodbc.connect(con_string)
cur = cnxn.cursor()

s1 = 'SELECT cocusnam FROM NKXPRTEMP.WW03CUS'

result = cur.execute(s1).fetchone()
cnxn.close()

for i in range(0, len(result)):
    print(result[0])

OUIWW 发表于 2021-3-3 13:45:47

由于非法字符原因,导致出现data error:
C:\Users\Documents\PY\venv\Scripts\python.exe C:/Users/Documents/PY/test/CHN.py
Traceback (most recent call last):
File "C:/Users/Documents/PY/test/CHN.py", line 13, in <module>
    result = cur.execute(s1).fetchone()
pyodbc.DataError: ('22018', ' Error in assignment. (30019) (SQLGetData)')

wp231957 发表于 2021-3-4 07:45:02

本帖最后由 wp231957 于 2021-3-4 07:48 编辑

OUIWW 发表于 2021-3-3 13:45
由于非法字符原因,导致出现data error:
C:%users\Documents\PY\venv\Scripts\python.exe C:/Users/Docume ...

哦搞错了,不过答案没啥改变,就是这个数据库一般人都不会用,如果你真的有需求,就只能自己慢慢琢磨了
页: [1]
查看完整版本: db2数据库,怎么按行读取并做一些判断,然后读取下一行啊