在Vertica中使用PYODBC创建表时的语法错误

2024-09-29 23:16:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用PYODBC将一大串sql查询加载到Vertica中的表中。我的代码是:

tablename = DVXTEMP.my_table_name
sql = my_sql_query.strip().strip(';')
samplesize = 1000

createstring =   'CREATE TABLE %s AS %s \n limit %s;' %(tablename, sql, samplesize)

cursor.execute(createstring)

当我打印createstring并在Toad中运行时,它工作得很好。当我试图在pyodbc中执行它时,它会给出以下错误:

^{pr2}$

我们使用的是Vertica分析数据库v7.1.2-6

你知道是什么原因造成的吗?在

谢谢


Tags: 代码namesqlmycreatetablequerystrip
1条回答
网友
1楼 · 发布于 2024-09-29 23:16:51

1)您是否导入了pyodbc?在

2)您是否定义“光标”来自pyodbc.connect"? 在

import pyodbc

DB = '[string for dbfile]'
DRV = '[string of which driver you are going to use]'
con = pyodbc.connect('DRIVER={};DBQ={}'.format(DRV,DB))
cursor = con.cursor()
##build SQL code and execute as you have done

在连接无误后,请尝试SQL命令。在

3)我对mdb文件使用pyodbc(MS-Access),除非在表/字段名的双引号之外加上单引号,否则我的一些查询将无法运行。在

^{pr2}$

打印结果->从mytbl中选择*

(此操作失败)

mytbl_2 = '"mytbl"' #single quotes outside of double quote
SQL = 'SELECT * FROM ' + mytbl_2
print SQL

打印结果->从“mytbl”中选择*

(传递此字符串时不出现错误,我可以使用MDB文件)

相关问题 更多 >

    热门问题