當前位置:首頁 » 數據倉庫 » python連接access資料庫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

python連接access資料庫

發布時間: 2022-08-08 21:56:37

⑴ 如何連接access資料庫

  • 1

    首先確保Access與開發工具Visual Studio都正確安裝了,如果沒安裝的話需要下載相關的軟體安裝一下,Visual Studio不限制你的版本,2012,2008什麼的都行。

  • 7

    寫完了以後你運行以後,可能會報如下的錯誤:未在本地計算機上注冊microsoft.ace.12.0。這個是由於計算機中缺少驅動程序造成的,去官網下載安裝即可:

    http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.exe

  • 8

    到這里連接Access資料庫的方法就講解完了,我們用的是net,你如果用別的語言,步驟也一樣,只不過換一下新建連接的方式即可。

⑵ 如何連接ACCESS資料庫

使用的System.Data;
使用System.Data.OleDb;

私人的OleDbConnection CON

/ / /

/ / /打開資料庫連接

/ / /

/ / /的資料庫路徑(包括資料庫名稱)

私人無效公開賽(弦樂DBPATH)

{(CON == NULL)

CON =新的OleDbConnection(「供應商= Microsoft.Jet.OLEDB.4.0;數據源=」+ DBPATH);

(:con.State == ConnectionState。已結業)

con.Open();

}

/ / /

/ / /創建一個命令對象,並返回對象

/ / /

/ / / 資料庫語句

/ / / 資料庫所在的路徑

/ / / 的OleDbCommand

私人的OleDbCommand createCommand(的字元串sqlStr串文件)

{

打開(文件);

OleDbCommand的CMD =新的OleDbCommand();

cmd.CommandType = CommandType.Text;

cmd.CommandText = sqlStr

CMD。連接= CON;

返回CMD;

}

/ / /

/ / /執行

/ / / / / / / 的SQL語句

/ / /的資料庫所在的路徑 / / / 的回報成功執行時,當它沒有返回值真,假

公共:布爾ExecuteNonQury(sqlStr字元串,字元串文件)

OleDbCommand的CMD = CreateCommand(sqlStr文件);

結果= cmd.ExecuteNonQuery();

如果(結果== -1 |結果== 0)

{

CMD。 Dispose()方法;

關閉();

返回FALSE;

}

其他

{

cmd.Dispose();

關閉( );

返回true;

}

/ / /

/ / /執行資料庫查詢

/ / / <BR / / / / 的查詢

/ / / 的填充數據集的表名

/ / / 資料庫路徑

/ / / 的查詢數據集

公共數據集GetDataSet已(字元串,字元串文件sqlStr)

{

數據集DS =新的DataSet();

OleDbCommand的CMD = CreateCommand(sqlStr文件);

OleDbDataAdapter的DataAdapter的新OleDbDataAdapter的(CMD);

DataAdapter.Fill方法(DS)

cmd.Dispose();

關閉();

dataAdapter.Dispose();

返回DS;

}

/ / /

/ / /生成的數據讀取器OleDbDataReader也返回OleDbDataReader也

/ / /

/ / / 的資料庫查詢參數
> / / / 返回一個DataReader對象

,公共OleDbDataReader也GetReader(sqlStr字元串,字元串文件)

{

OleDbCommand的CMD = CreateCommand(sqlStr文件); OleDbDataReader也讀卡器= cmd.ExecuteReader(CommandBehavior.CloseConnection);

/ / CommadnBehavior的形象尤其將DataReader的相關的資料庫鏈接

/ /自動關閉時接近DataReader對象鏈接

返回讀寫器;

}

/ / /

/ / /關閉資料庫

/ / /

公共無效關閉()

{

(con! = NULL) con.close();

CON = NULL;

}

傳記傳入的路徑是取名字的Access資料庫

⑶ 如何:連接到 Access 資料庫中的數據

通過運行數據源配置向導並在「選擇數據源類型」頁面上選擇「資料庫」,可連接到 Access 文件內的數據。提示將.mdf 或 .mdb 文件從 Windows 資源管理器拖到解決方案資源管理器中,可自動配置連接並啟動「數據源配置向導」,以便您選擇要在應用程序中使用的對象。通過從「數據」菜單或從「數據源」窗口中選擇「添加新數據源」命令,可以啟動該向導。或者,還可以從「項目」菜單選擇「添加現有項」命令並瀏覽至所需的資料庫文件。完成該向導後,一個資料庫副本(.mdb 文件)和一個強類型數據集文件 (.xsd) 被添加到項目。選擇的資料庫對象立即出現在「數據源」窗口中,可用於拖動到窗體上。有關更多信息,請參見「顯示數據」概述。注意通過「數據源配置向導」添加 .mdb 文件時,可以選擇將該文件添加到項目或是讓該文件保留在其原始位置上。有關更多信息,請參見如何:管理項目中的本地數據文件。注意顯示的對話框和菜單命令可能會與「幫助」中的描述不同,具體取決於您的現用設置或版本。若要更改設置,請在「工具」菜單上選擇「導入和導出設置」。有關更多信息,請參見 Visual Studio 設置。使用「添加新數據源」命令連接到 Access 資料庫中的數據在「數據」菜單上單擊「添加新數據源」。在「選擇數據源類型」頁面上選擇「資料庫」。選擇「新建連接」以創建新的數據連接。注意如果「數據源」不是「Microsoft Access 資料庫文件」,則選擇「更改」以打開「選擇/更改數據源」對話框,選擇「Microsoft Access 資料庫文件」,然後單擊「繼續」。 默認的提供程序為「OLE DB 的 .NET Framework 提供程序」。有關更多信息,請參見「選擇/更改數據源」對話框。在「資料庫文件名」框中輸入 .mdb 文件的路徑,或單擊「瀏覽」按鈕以查找資料庫文件。如果您的資料庫需要,請輸入登錄信息。有關更多信息,請參見添加/修改連接 (Microsoft Access)。單擊「確定」,然後單擊「下一步」。選擇「是」將 .mdb 文件復制到項目中,或選擇「否」連接到處於其當前位置的資料庫文件。有關更多信息,請參見如何:管理項目中的本地數據文件。單擊「下一步」。展開對象樹,然後選擇要在應用程序中使用的資料庫對象。如果需要,替換默認「數據集名稱」。單擊「完成」。剛剛創建的數據集即出現在「數據源」窗口中。打開「數據源」窗口,方法是從「數據」菜單中選擇「顯示數據源」。使用「添加現有項」命令連接到 Access 資料庫中的數據從「項目」菜單選擇「添加現有項」,或是將 .mdb 文件從 Windows 拖動到「解決方案資源管理器」上。展開對象樹,然後選擇要在應用程序中使用的資料庫對象。如果需要,替換默認「數據集名稱」。單擊「完成」。剛剛創建的數據集即出現在「數據源」窗口中。打開「數據源」窗口,方法是從「數據」菜單中選擇「顯示數據源」。後續步驟在應用程序中添加功能在「數據源」窗口中選擇項並將其拖動到一個窗體上。有關更多信息,請參見「顯示數據」概述。注意如果該數據源未在「數據源」窗口中顯示,則請單擊窗口中的「刷新」按鈕。安全存儲敏感信息(例如伺服器名稱、用戶名和密碼)可能會影響應用程序的安全性。若要控制對資料庫的訪問,一種較為安全的方法是使用 Windows 身份驗證(也稱為集成安全性)。有關更多信息,請參見保護連接字元串。

⑷ python怎麼連接mysql資料庫

在 Python 語言環境下我們這樣連接資料庫。

In [1]: from mysql import connector

In [2]: cnx = connector.connect(host="172.16.192.100",port=3306,user="appuser",password="xxxxxx")

但是連接資料庫的背後發生了什麼呢?


答案

當我們通過驅動程序(mysql-connector-python,pymysql)連接 MySQL 服務端的時候,就是把連接參數傳遞給驅動程序,驅動程序再根據參數會發起到 MySQL 服務端的 TCP 連接。當 TCP 連接建立之後驅動程序與服務端之間會按特定的格式和次序交換數據包,數據包的格式和發送次序由MySQL 協議規定。MySQL 協議:https://dev.mysql.com/doc/internals/en/client-server-protocol.html整個連接的過程中 MySQL 服務端與驅動程序之間,按如下的次序發送了這些包。

  • MySQL 服務端向客戶端發送一個握手包,包里記錄了 MySQL-Server 的版本,默認的授權插件,密碼鹽值(auth-data)。

  • 2. MySQL 客戶端發出 ssl 連接請求包(如果有必要的話)。

    3. MySQL 客戶端發出握手包的響應包,這個包時記錄了用戶名,密碼加密後的串,客戶端屬性,等等其它信息。

    4. MySQL 服務端發出響應包,這個包里記錄了登錄是否成功,如果沒有成功也會給出錯誤信息。

⑸ 如何在Python 中導入access 數據

Python操作Access資料庫步驟之1、建立資料庫連接
import win32com.client
conn = win32com.client.Dispatch(r'ADODB.Connection')
DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=C:/MyDB.mdb;'
conn.Open(DSN)
Python操作Access資料庫步驟之2、打開一個記錄集
rs = win32com.client.Dispatch(r'ADODB.Recordset')
rs_name = 'MyRecordset'#表名
rs.Open('[' + rs_name + ']', conn, 1, 3)
Python操作Access資料庫步驟之3、對記錄集操作
rs.AddNew()
rs.Fields.Item(1).Value = 'data'
rs.Update()
Python操作Access資料庫步驟之4、用SQL來插入或更新數據
conn = win32com.client.Dispatch(r'ADODB.Connection')
DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=C:/MyDB.mdb;'
sql_statement = "Insert INTO [Table_Name] ([Field_1],
[Field_2]) VALUES ('data1', 'data2')"
conn.Open(DSN)
conn.Execute(sql_statement)
conn.Close()

Python操作Access資料庫步驟之5、遍歷記錄
rs.MoveFirst()
count = 0
while 1:
if rs.EOF:
break
else:
countcount = count + 1
rs.MoveNext()

注意:如果一個記錄是空的,那麼將指針移動到第一個記錄將導致一個錯誤,因為此時recordcount是無效的。解決的方法是:打開一個記錄集之前,先將Cursorlocation設置為3,然後再打開記錄集,此時recordcount將是有效的。例如:
rs.Cursorlocation = 3 # don't use parenthesis here
rs.Open('Select * FROM [Table_Name]', conn) # be sure conn is open
rs.RecordCount # no parenthesis here either

⑹ python連接access資料庫問題

資料庫能打開是什麼意思。。。用什麼打開的
你的ODBC設置好了嗎。。。

⑺ 連接Access資料庫應注意的幾點

使用python訪問Access資料庫可以使用:win32com.client、pypyodbc
出現上述錯誤:主要原因是沒有安裝Access資料庫驅動,在這里注意
1.64位的office安裝64位的資料庫驅動;
2.安裝驅動之後,配置ODBC數據源,如何安裝ODBC的文章很多
完成上述之後,如果使用pypyodbc的話,訪問Access資料庫的話就沒有問題
但是,使用win32com.client的話還是會出現上述的錯誤,在這里我的是64位的系統,你需要將設置為如下:
DSN = 'PROVIDER=Microsoft.ACE.OLEDB.12.0;DATA SOURCE=H:/test.mdb;'

⑻ access和python哪個更實用

Python在數據分析上有明顯優勢,但如果需要多表連接查詢,則Access是比較好的選擇。

⑼ python連接到資料庫如圖所示,把資料庫中的數據做成圖形,類似這種條形樹狀的。

可以用record這個庫,支持sql結果轉dataframe,然後就可以用matplot這個庫畫圖了

⑽ python 怎麼操作access資料庫

#!/usr/bin/envpython
#-*-conding:utf-8-*-

importpypyodbc
if__name__=="__main__":

str='Driver={MicrosoftAccessDriver(*.mdb)};DBQ=E:\123.mdb'
conn=pypyodbc.win_connect_mdb(str)
#conn=pypyodbc.connect(str)
cur=conn.cursor()
cur.execute("SELECT*FROMcatalog")
forrowincur.fetchall():
forfieldinrow:
printfield,
print''
conn.commit()
cur.close()
conn.close()