Python pyodbc和Oracle SQL无效数字错误
我通过pyodbc连接到Oracle数据库,并始终获得ORA-01722。我是否可以以字符或其他方式读取数据,以便在Python中进行处理?我以只读方式访问此数据,似乎无法找到避免错误的解决方案。这是我得到的代码和错误Python pyodbc和Oracle SQL无效数字错误,python,sql,oracle,Python,Sql,Oracle,我通过pyodbc连接到Oracle数据库,并始终获得ORA-01722。我是否可以以字符或其他方式读取数据,以便在Python中进行处理?我以只读方式访问此数据,似乎无法找到避免错误的解决方案。这是我得到的代码和错误 import pyodbc con = pyodbc.connect('myconnectionstring') data_cursor = 'SELECT * FROM my_table' DataError: ('22018', '[22018] [Oracle][ODBC
import pyodbc
con = pyodbc.connect('myconnectionstring')
data_cursor = 'SELECT * FROM my_table'
DataError: ('22018', '[22018] [Oracle][ODBC][Ora]ORA-01722: Ungültige Zahl\n\x00\u07fe\x00\x00\x00\x00\x00뿗耄
\x01\x00\x03\x00\x00\x00껐1\x00\x00\x00\x00\x00\x00櫈߯
\x00\x00H\x00\x00\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 (1722) (SQLExecDirectW)')
对该表进行故障排除时,我有8列具有以下特征:
q = "SELECT column_name, data_type FROM USER_TAB_COLUMNS WHERE table_name = 'my_table'"
td = con.execute(q)
cols = np.vstack([i for i in td])
cols
array([['A', 'VARCHAR2'],
['B', 'VARCHAR2'],
['C', 'NUMBER'],
['D', 'NUMBER'],
['E', 'NUMBER'],
['F', 'NUMBER'],
['G', 'NUMBER'],
['H', 'VARCHAR2']], dtype='<U11')
我不确定这是系统的语言问题还是其他问题。我在所有的错误字符串中都看到了中文(?)字符,但我的机器(OS:Windows7Enterprise)是德语的
任何帮助阅读此数据库将不胜感激
def get_tab_col(table_name, col_name):
q = "SELECT TO_CHAR({}) FROM {}".format(col_name, table_name)
return con.execute(q)
data = {}
for c in cols[:, 0]:
try:
x = get_tab_col(table_name, c)
data[c] = np.vstack([i for i in x])
except Exception as e:
print('{} fails'.format(c))
B fails
D fails
E fails
F fails