【发布时间】:2020-06-14 19:02:19
【问题描述】:
我遇到了最奇怪的问题。 我通过 ODBC 连接到 Vertica 数据库使用 pyodbc 4.0.30 版本。
在 MAC 上也使用 python 2.7 版。
我正在插入字符串值,例如:'daniel',在进行选择时,我得到一个每个字母之间包含空字符的值。
这是我的 odbc.ini 文件
[ODBC Data Sources]
vertica = Vertica
[vertica]
Driver = /Library/Vertica/ODBC/lib/libverticaodbc.dylib
Database = qa
ServerName = serverName
Port = 5433
UID = dbadmin
PWD = pass
DriverStringConversions = NONE
ColumnsAsChar = true
[ODBC]
Trace = 0
TraceAutoStop = 0
TraceFile = /Users/daniel/sql.log
TraceDLL =
字符串的返回值假设为“daniel”,我在 ascii 中得到以下值
[49, 0, 100, 0, 115, 0, 102, 0, 115, 0, 100, 0, 102, 0]
而不是
[49,100,115,102,115,100,102]
尝试了所有 DriverStringConversions 配置,但没有任何改变。 我知道这是一个很长的尝试,但是您知道为什么会发生这种情况吗?
【问题讨论】:
-
看来您需要调整编码设置。详情here.
标签: python odbc pyodbc vertica