我正在使用vba调用从Jira API获取信息并使用pyodbc更新Access数据库的python脚本。如果我打开python脚本并从解释器运行它,则一切正常,但是如果我使用vba调用脚本,则会收到以下错误。
错误:回溯(最近一次通话最近):文件 “ C:\ Users \ PCarra \ Desktop \ CktOpsDb \ Scripts \ updateDb.py”,第7行 conn = pyodbc.connect(r'Driver = {Microsoft Access驱动程序 (* .mdb,* .accdb)}; DBQ = \ 省略 目的 \ Backend \ Inventory_be.accdb;')pyodbc.InterfaceError: (“ IM002”,“ [IM002] [Microsoft] [ODBC驱动程序管理器]数据源名称 找不到,也没有指定默认驱动程序(0)(SQLDriverConnect)')
Python code below:
from collections import Counter
from jira import JIRA
from pprint import pprint
import requests, json, urllib3, os, pyodbc, usaddress
#Connection string for database
conn = pyodbc.connect(r'Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=\\**omitted on
purpose**\Backend\Inventory_be.accdb;')
cursor = conn.cursor()
...
...
cursor.execute('''
UPDATE CircuitInfoTable
SET CircuitID = ?, Bandwidth = ?, Region = ?, HandoffALocAddress = ?, HandoffALocCity = ?, HandoffALocST = ?,
Carrier = ?, HandoffZLocAddress = ?, HandoffZLocCity = ?, HandoffZLocST = ?, SegmentID = ?, Legacy = ? WHERE
LatestJiraTicket = ?
''', params)
conn.commit()
VBA调用脚本:
输出: Dim x As Variant 昏暗的strProgramName作为字符串 strProgramName = CurrentProject.Path&“ \ Scripts \ updateDb.py” Shell Environ $(“ COMSPEC”)&“ / k”&strProgramName,vbNormalFocus
关于什么可能导致上述错误的任何想法,因为该错误通过解释器起作用,但是在我使用VBA调用脚本之后却没有?
感谢您的帮助!