ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

python-Access数据库连接错误

2019-10-11 15:55:27  阅读:284  来源: 互联网

标签:python sql ms-access database ms-access-2007


我写了通过pyodbc连接到Access的程序
对此感到非常高兴.请帮帮我.

import pyodbc
#import kinterbasdb
import firebirdsql
import os, sys
import json,sqlite3,sql
sys.version_info
s1='''
create table CLIENTS
    (
       ID    INTEGER NOT NULL,
       COMPANY   VARCHAR(50),
       "LAST NAME"   VARCHAR(50),
       "FIRST NAME"   VARCHAR(50),
       "E-MAIL ADDRESS"   VARCHAR(50),
       "JOB TITLE"   VARCHAR(50),
       "BUSINESS PHONE"   VARCHAR(25),
       "HOME PHONE"   VARCHAR(25),
       "MOBILE PHONE"   VARCHAR(25),
       "FAX NUMBER"   VARCHAR(25),
       ADDRESS   BLOB SUB_TYPE 1,
       CITY   VARCHAR(50),
       "STATE/PROVINCE"   VARCHAR(50),
       "ZIP/POSTAL CODE"   VARCHAR(15),
       "COUNTRY/REGION"   VARCHAR(50),
       "WEB-SITE"   VARCHAR(25),
       NOTES   BLOB SUB_TYPE 1,
       INCLUDING   BLOB,
       CONSTRAINT PK_CLIENTS_ID PRIMARY KEY(ID)
    );
'''
s2='''create ascending index IDX_CLIENTS_CITY on CLIENTS (CITY);'''
#os.remove('D:/ThirdTask/test1.fdb')
conn=firebirdsql.create_database(host='localhost', database='/test1.fdb', user='sysdba', password='masterkey')
#con=firebirdsql.connect(host='localhost',database='D:/ThirdTask/test1.fdb', user='sysdba', password='masterkey')
cur=conn.cursor()
cur.execute(s1)
#cur.execute(s2)
conn.commit()
conAcc = pyodbc.connect('DRIVER={Microsoft Access Driver (*.accdb)};DBQ=Northwind.accdb')
conn.close()

结果我收到一个错误
使我非常困惑.请帮帮我.
我不知道是什么原因造成的

Traceback (most recent call last):
  File "D:\ThirdTask\connecttwo.py", line 39, in <module>
    conAcc = pyodbc.connect('DRIVER={Microsoft Access Driver (*.accdb)};DBQ=Northwind.accdb')
Error: ('IM002', '[IM002] [Microsoft][\xc4\xe8\xf1\xef\xe5\xf2\xf7\xe5\xf0 \xe4\xf0\xe0\xe9\xe2\xe5\xf0\xee\xe2 ODBC] \xc8\xf1\xf2\xee\xf7\xed\xe8\xea \xe4\xe0\xed\xed\xfb\xf5 \xed\xe5 \xed\xe0\xe9\xe4\xe5\xed \xe8 \xed\xe5 \xf3\xea\xe0\xe7\xe0\xed \xe4\xf0\xe0\xe9\xe2\xe5\xf0, \xe8\xf1\xef\xee\xeb\xfc\xe7\xf3\xe5\xec\xfb\xe9 \xef\xee \xf3\xec\xee\xeb\xf7\xe0\xed\xe8\xfe (0) (SQLDriverConnect)')

解决方法:

您指定的驱动程序名称…

DRIVER = {Microsoft Access驱动程序(* .accdb)}

…是不正确的.没有使用该名称的ODBC驱动程序.想要打开较旧的.mdb数据库文件的32位应用程序可以使用

驱动程序= {Microsoft Access驱动程序(* .mdb)}

要从64位应用程序中打开.mdb文件,或从任何应用程序中打开.accdb文件,您需要使用

驱动程序= {Microsoft Access驱动程序(* .mdb,* .accdb)}

标签:python,sql,ms-access,database,ms-access-2007
来源: https://codeday.me/bug/20191011/1893833.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有