Vertica Python 驱动程序为 Python 客户端应用程序提供与数据库交互的接口。
先决条件
在创建 Python 客户端应用程序之前,必须配置 Python 开发环境。
Vertica Python 驱动程序为 Python 客户端应用程序提供与数据库交互的接口。
在创建 Python 客户端应用程序之前,必须配置 Python 开发环境。
若要在 Linux 中配置 ODBC 运行时环境,请执行下列操作:
创建 odbc.ini
文件(如果此文件尚未存在)。
将 ODBC 驱动程序目录添加到 LD_LIBRARY_PATH 系统环境变量:
export LD_LIBRARY_PATH=/path-to-vertica-odbc-driver:$LD_LIBRARY_PATH
这些步骤仅与 unixODBC 和 iODBC 相关。有关 odbc.ini
的详细信息,请参阅其相应文档。
以下示例会话将 pyodbc 与 Vertica ODBC 驱动程序结合使用,以将 Python 连接到 Vertica 数据库。
以下示例脚本显示了如何使用 Python 3、pyodbc 和 ODBC DSN 查询 Vertica。
import pyodbc
cnxn = pyodbc.connect("DSN=VerticaDSN", ansi=True)
cursor = cnxn.cursor()
# create table
cursor.execute("CREATE TABLE TEST("
"C_ID INT,"
"C_FP FLOAT,"
"C_VARCHAR VARCHAR(100),"
"C_DATE DATE, C_TIME TIME,"
"C_TS TIMESTAMP,"
"C_BOOL BOOL)")
cursor.execute("INSERT INTO test VALUES(1,1.1,'abcdefg1234567890','1901-01-01','23:12:34','1901-01-01 09:00:09','t')")
cursor.execute("INSERT INTO test VALUES(2,3.4,'zxcasdqwe09876543','1991-11-11','00:00:01','1981-12-31 19:19:19','f')")
cursor.execute("SELECT * FROM TEST")
rows = cursor.fetchall()
for row in rows:
print(row, end='\n')
cursor.execute("DROP TABLE TEST CASCADE")
cursor.close()
cnxn.close()
生成的输出如下所示:
(2, 3.4, 'zxcasdqwe09876543', datetime.date(1991, 11, 11), datetime.time(0, 0, 1), datetime.datetime(1981, 12, 31, 19, 19, 19), False)
(1, 1.1, 'abcdefg1234567890', datetime.date(1901, 1, 1), datetime.time(23, 12, 34), datetime.datetime(1901, 1, 1, 9, 0, 9), True)
对于未命名的主键约束,SQLPrimaryKeys 将返回主键 (pk_name
) 列中的表名。例如:
未命名主键:
CREATE TABLE schema.test(c INT PRIMARY KEY);
SQLPrimaryKeys
"TABLE_CAT", "TABLE_SCHEM", "TABLE_NAME", "COLUMN_NAME", "KEY_SEQ", "PK_NAME" <Null>, "SCHEMA", "TEST", "C", 1, "TEST"
已命名主键:
CREATE TABLE schema.test(c INT CONSTRAINT pk_1 PRIMARY KEY);
SQLPrimaryKeys
"TABLE_CAT", "TABLE_SCHEM", "TABLE_NAME", "COLUMN_NAME", "KEY_SEQ", "PK_NAME" <Null>, "SCHEMA", "TEST", "C", 1, "PK_1"
Micro Focus 建议对约束进行命名。