将VBScript转换为Python

2024-09-21 05:26:35 发布

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

我在Windows计算机上运行了以下vbscript:

db = "\\networklocation\Database\employeeID.mdb"

Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
Set mstream = CreateObject("ADODB.Stream")
'ADODB.Stream is need to transfer the BLOB Data as Binary

mstream.Type = 1 '' 1 is to: adTypeBinary 
'for info on Stream: http://www.w3schools.com/asp/ado_ref_stream.asp

cn.Open "Provider = Microsoft.Jet.OLEDB.4.0; " & "Data Source =" & db

strSQL = "SELECT IDNumber,photo FROM employeeID WHERE IDNumber like 'A00______' and photo is not null" 
'% for 0 or more characters, _ to replace a single character

rs.Open strSQL, cn
DO WHILE not rs.eof
mstream.Open
mstream.Write rs("photo")
mstream.SaveToFile "C:\images\all\" & rs("IDNumber") & ".jpg", 2 'adSaveCreateOveWrite
mstream.close
rs.movenext
Loop

它确实做了我需要它做的事情,但是在得到图片之后,我需要将它们发送到Linux机器上,我使用winscp来发送。在

我想从Linux服务器运行脚本,不需要winscp和windows机器(我不喜欢从多个位置运行东西)。在

我最近发现Python可以使用pyodbc连接到Access数据库。在

我相信我了解如何连接到access数据库,但不知道如何从一列中提取二进制数据,并在Python中将它们标记为不同的列。(提取二进制数据是我创建VBScript时遇到的最大障碍)

更新: 看来我现在可以结束这个想法了,我没有意识到Linux上的所有ODBC驱动程序都是花钱的。现在正在搜索其他方法,比如jackness,它是到访问的直接java连接


Tags: todbstreamislinuxopencnrs

热门问题