使用VBA调用Python脚本会导致Pyodbc连接器出错

时间:2019-06-17 20:34:00

标签: python vba

我正在使用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调用脚本之后却没有?

感谢您的帮助!

0 个答案:

没有答案