i有一个SQL数据库,该数据库显示一个像此0x9406920691068F这样的varbinary(max)...我想将其导入到Python Pycharm,以获取相同的确切数据类型。但是,它显示出这样的东西[B' x94 x06 x92 x06 x91 x06 x8f x06 x8d ..如何将相同的数字复制到Python?我是Python的初学者,请帮助。
我复制了上一篇文章中的代码,它不起作用
import pyodbc
def hexToString(binaryString):
try:
hashString = ["{0:0>2}".format(hex(b)[2:].upper()) for b in binaryString]
return '0x' + "".join(hashString)
except:
return binaryString
query = """ select P from Access.table """
conn_str = (
**** private database details # I don't copy on the page
)
cnxn = pyodbc.connect(conn_str)
cnxn.add_output_converter(pyodbc.SQL_BINARY, hexToString)
cursor = cnxn.cursor()
try:
cursor.execute(query)
row = cursor.fetchone()
except MySQLdb.error as err:
print(err)
else:
while row is not None:
print(row)
row = cursor.fetchone()
如果列返回类型为 varbinary(max)
,则需要将输出转换器函数添加到处理SQL_VARBINARY
,而不是SQL_BINARY
cnxn.add_output_converter(pyodbc.SQL_VARBINARY, converter_function_name)