Python 访问数据库的连接错误
我编写的程序是通过pyodbc连接Access 对此,它非常高兴。请帮帮我Python 访问数据库的连接错误,python,sql,database,ms-access,ms-access-2007,Python,Sql,Database,Ms Access,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), "
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)')
回溯(最近一次呼叫最后一次):
文件“D:\ThirdTask\connecttwo.py”,第39行,在
conAcc=pyodbc.connect('DRIVER={Microsoft Access驱动程序(*.accdb)};DBQ=Northwind.accdb')
错误:('IM002','[IM002][Microsoft][\xc4\xe8\xf1\xef\xe5\xf2\xf7\xe5\xf0\xe4\xf0\xe0\xe9\xe2\xe5\xf0\xee\xe2]\xc8\xf1\xf2\xee\xf7\xed\xe8\xea\xe4\xe0\xed\xed\xf5\xed\xe0\xe9\xe4\xe5\xe\xe8\xed\xe5\xf3\xea\xe0\xe4\xf0\xe0\xe9\xe2\xe5\xf0\xe8\xe8\xe1\xef\xee\xee\xe\xe\xe\xe\xe\xe\xe
看起来您没有连接到数据库。
也许你应该从一个较小的程序开始,只是为了连接。
其他问题中的示例:这可能会有所帮助
import pyodbc
# Connect to your access database file
DBfile = 'Filename.mdb' # Let your file name <Filename> and access extension .mdb
conn = pyodbc.connect('DRIVER={Microsoft Access Driver (*.mdb)};DBQ='+DBfile) # user/password can be used
cur = conn.cursor()
# Create new table in database
cur.execute ('CREATE TABLE CLIENTS (ID INTEGER, COMPANY STRING)')
conn.commit()
cur.close()
conn.close()
导入pyodbc
#连接到access数据库文件
DBfile='Filename.mdb'#让您的文件名和访问扩展名为.mdb
conn=pyodbc.connect('DRIVER={Microsoft Access DRIVER(*.mdb)};DBQ='+DBfile)#可以使用用户/密码
cur=连接光标()
#在数据库中创建新表
cur.execute('创建表客户端(ID整数,公司字符串)')
康涅狄格州提交
当前关闭()
康涅狄格州关闭
您指定的驱动程序名称
DRIVER={Microsoft Access驱动程序(*.accdb)}
…这是不正确的。没有具有该名称的ODBC驱动程序。想要打开较旧的.mdb
数据库文件的32位应用程序可以使用
Driver={Microsoft Access驱动程序(*.mdb)}
要从64位应用程序打开.mdb
文件,或从任何应用程序打开.accdb
文件,需要使用
Driver={Microsoft Access驱动程序(*.mdb,*.accdb)}