Access数据库的连接错误 [英] Connection error to Access database
问题描述
我写的程序,通过pyodbc连接到Access
,它是非常高兴。帮助我。
I wrote the program which by means of pyodbc is connected to Access to that it was very glad. Help me please.
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()
结果我收到一个错误
我很迷惑。请帮帮我。
我不知道是什么原因导致的错误
As a result I received an error that me very much baffled. Help me please. I don't know in what a cause of error
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)')
推荐答案
您指定的驱动程序名称...
The driver name you specified...
DRIVER = {Microsoft Access驱动程序(* .accdb)}
...是不正确的。没有具有该名称的ODBC驱动程序。要打开旧的 .mdb
数据库文件的32位应用程序可以使用
...is incorrect. There is no ODBC driver with that name. 32-bit applications that want to open an older .mdb
database file can use
Driver = {Microsoft Access Driver(* .mdb)}
打开 .mdb
文件,或者从任何应用程序打开 .accdb
文件,您需要使用
To open an .mdb
file from a 64-bit application, or to open an .accdb
file from any application, you need to use
Driver = {Microsoft Access Driver(* .mdb,* .accdb)}
这篇关于Access数据库的连接错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!