通过pyodbc从外部表中缺少行

ffx8fchx  于 2021-07-27  发布在  Java
关注(0)|答案(0)|浏览(190)

当前在python中通过pyodbc运行sql代码时遇到问题。odbc连接到netezza以运行sql代码。

db = pyodbc.connect(connection_string)
cursor = db.cursor()
sql = '''
   Create external table TABLE1 (
      col1,
      col2,
      col3
    )
   using (
      dataobject('C:\\file.txt')
      delimiter '|'
      quotedvalue 'DOUBLE'
      requiresquotes TRUE
      nullvalue ''
      escapechar '`'
      y2base 2000
      encoding 'internal'
      remotesource 'ODBC'
      logdir 'C:\\log'
    );

    Create table TABLE1_MAILBOX as (
       select * from TABLE1
      ) distribute on random;
   '''

cursor.execute(sql)
db.commit()

创建外部表的第一块代码工作正常,当创建table1\u邮箱的第二块代码出错时。它似乎遗漏了表1中的行。例如,如果dataobject文本文件有5000行,那么table1有5000行,但是table1\u mailbox有大约4750行。
但是,如果我直接在netezza中运行这段代码,它就可以正常工作,并且每个表都有正确的行数。
如果它是通过python中的pyodbc运行的,则不确定为什么要执行through。可能是故障吗?还是我做错了什么?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题