从MSSQL中获取二进制值并在python中选择提取值

2024-05-18 15:33:28 发布

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

我需要从TableA取一个值,该值用binary(20)表示,将其保存到变量sha1_bin,并将其传递给另一个函数,该函数使用所述的sha1_bin从{}检索信息。在

当我得到二进制值时,例如第一个SHA1(binary(20))来自TableA

con.execute_query('SELECT TOP 1 [SHA1] FROM TableA')
for row in con:
    sha1_bin = row['SHA1']

它看起来像:b'\xa3\x13\xa4;\xcb\xda\x1b\x1b,Ut\xde\xeb2\xb5\x84\xe5&\x85;'

最后,当我使用这个值从TableB检索信息时,例如一些字符串。。在

^{pr2}$

我得到这个错误:

102, b"Incorrect syntax near '\\xa3\\x13\\xa4;\\xcb\\xda\\x1b\\x1b,Ut\\xde\\xeb2\\xb5\\x84\\xe5&\\x85;'.DB-Lib error message 102, severity 15:\nGeneral SQL Server error: Check messages from the SQL Server\n"

据我所知,它没有被正确地处理,我想我应该设法摆脱它。。在

问题: 如何检索这个binary(20),然后以变量的形式从第二个表中检索相关数据?在

我不能有任何数据库相关的,如连接,查询需要保持原样。在

数据库:使用Microsoft SQL Server Enterprise Edition v9.00.3042.00,即SQL Server 2005 Service Pack 2

编辑:

我想我已经把问题缩小到初始检索binary(20)值。因为当我将数据库中的一个值分配给python控制台中的字符串变量时(例如0x90D152B5ED57E00336FD8E106A7BCE28FC3EA588)。从TableB检索信息没有问题。在

如何检索SHA1列,它是一个binary(20) from表,以便在python中正确使用它?在


Tags: 函数信息数据库sqlbinserverconsha1

热门问题