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

網站access資料庫連接

發布時間: 2022-12-18 05:17:59

❶ 連接Access資料庫常用方法有哪些

在基於微軟IIS/PWS的網路平台上,通過伺服器端運行的ASP程序來訪問後台資料庫,是一種最常見的模式了。而對於小型的資料庫應用需求,微軟的Access資料庫,應該是與ASP程序配套使用的首選。由於Access資料庫的ODBC驅動程序支持的sql指令全,執行效率高,所以Access後台資料庫+ASP伺服器端程序+客戶端IE瀏覽器,是一個精練實用高效的組合模式。

在這種使用模式中,ASP程序無疑是最重要的,是溝通客戶端和後台資料庫之間的橋梁。在ASP程序中,通過VB Script,建立對Access資料庫的連接,是客戶能夠訪問後台資料庫的前提。

一、建立Access資料庫連接的常用方法

在ASP中建立對Access資料庫連接的一般格式如下:

<%
DbPath=Server.MapPath(資料庫名)
Set Conn=Server.CreatObject(「ADODB.Connection」)
Conn.Open 「driver={Microsoft Access Driver (*.mdb)};dbq=」& DbPath
Set rs=Server.CreatObject(「ADODB.Recordset」)
Rs.Open 數據表名或SQL指令,Connection對象,Recordset類型,鎖定類型
… …
%>

它的各步驟及參數意義如下:

第一行程序:利用Server對象的MapPath函數,取得要打開資料庫的完整的文件路徑,並存儲在變數DbPath中。這其中,資料庫名是我們需要指定的參數,應該用我們要打開的資料庫的實際名稱替代。如果資料庫名是直接作為常量出現,要用引號將其括起來,並且不能丟掉擴展名。例如資料庫是Test.mdb,則該行程序成為:DbPath=Server.MapPath(「Test.mdb」)。

第二行程序:建立一個ADO對象集中的Connection對象,也即連接對象。這是建立資料庫連接的初始步驟。執行這行程序後,Conn成為一個連接對象。

第三行程序:利用連接對象Conn的Open方法打開一個指定的資料庫。因為我們要打開的是Access資料庫,所以要指定ODBC驅動程序參數,表示要透過Access的ODBC驅動程序來訪問資料庫:driver={Microsoft Access Driver (*.mdb)};。另一個參數dbq= & DbPath,運算後等效於dbq=Server.MapPath(資料庫名) ,是利用了第一行的Server.MapPath(資料庫名)函數,用來指定要打開的資料庫文件。到這里,就已經打開了資料庫名指定的資料庫。如果資料庫名是「test.mdb」,則打開Access資料庫Test.mdb。在這一行里指定的參數,要嚴格按照格式原樣寫出,不能省略或改動,也沒有可變參數。

第四行程序:建立一個ADO對象集中的Recordset對象,以便利用Recordset對象操作資料庫(當然,這只是對資料庫操作的多種方式之一)。執行這行後,rs就成為一個Recordset對象。

第五行程序:利用rs對象的Open方法打開資料庫中的數據表。這其中有四個參數,其意義如下:

數據表名或SQL指令串:在這個參數里指定要打開的資料庫內的數據表名稱,或者是用SQL的Select指令串確定的數據表的指定范圍數據,例如,資料庫Test.mdb中有數據表Number,則該參數成為「Number」,注意引號不能丟;若想打開數據表Number中xh欄位值小於90的數據記錄,則該參數可能成為如下的形式:

「Select * From Number Where xh < 90」。

Connection對象:指定已經打開的資料庫的Connection對象,在這里固定是Conn,注意無須引號的。

Recordset類型:表示打開數據表的方式,有四種選擇。數字0表示只讀方式,且當前記錄只能下移;數字1表示可讀寫方式,當前記錄可自由上下移動,但不能及時看到別的用戶建立的新記錄,除非重新啟動;數字2表示可讀寫方式,當前記錄可自由移動,而且可以及時看到別的用戶增加的新記錄;數字3表示只讀方式,但當前記錄可以自由移動。一般選擇2為好,除非為了禁止數據被修改。

鎖定類型:這個參數指定資料庫的鎖定功能。因為網路上的資料庫都是多用戶的,很可能同時有多個用戶在操作資料庫。為了避免錯誤,讓同一時間只可能有一個用戶修改數據,就要用鎖定功能。有四種選擇:數字1表示只讀方式鎖定,用戶不能更改數據;數字2表示悲觀鎖定,當一個用戶用rs對象開始修改數據時就鎖定資料庫,直到用戶用rs.Update更新記錄後,才解除鎖定;數字3表示樂觀鎖定,只有在數據寫入資料庫中時候才鎖定,不保險,慎用!數字4表示批次樂觀鎖定,只有在使用rs.UpdateBatch成批更新數據時候才鎖定數據記錄。屬於很少使用的。一般地,使用悲觀鎖定比較安全,但是效率要低些。

二、使用Recordset對象操作數據

用上面的方法打開資料庫,是利用了Recordset對象建立的資料庫連接,然後的對數據操作,也要使用該對象。

用rs.open 「數據表名」,Conn,2,2 方式打開數據表,就可以方便的對數據進行操作:

常見的操作對象:

rs.addnew :添加一個新記錄在數據表末尾。

rs.delete :刪除當前記錄。

rs.eof :判斷是否已過最後記錄。

rs.bof :判斷是否移過首記錄。

rs.update :數據修改生效。

rs(「欄位名」):當前記錄指定欄位的值。

從數據表中提取數據:用x=rs(「欄位名」)的格式,提取數據表中當前記錄指定欄位的值。

向數據表中填入或修改數據:用rs(「欄位名」)=數據值或變數的方式,修改當前記錄指定欄位的值。

三、使用SQL指令操作資料庫

在使用SQL指令對資料庫進行操作時,要用如下方式打開資料庫和操作:

<%
DbPath=Server.MapPath(資料庫名)
Set Conn=Server.CreatObject(「ADODB.Connection」)
Conn.Open 「driver={Microsoft Access Driver (*.mdb)};dbq=」& DbPath
Sql=操作資料庫的指令串
Conn.Execute sql
… …
%>

四、使用DSN連接資料庫

在以上連接資料庫的方式中,都是在程序中指定資料庫,指定ODBC驅動程序。如果數據源有變化,就需要修改程序。如果在系統級別上,預先定義好數據源DSN,就可以避免這個麻煩。

在定義DSN的過程中,就已經指定好了數據源需要的ODBC驅動程序,也指定好了資料庫文件的實際路徑和名字,我們在程序中,只需要引用預先定義的數據源名DSN即可。

設定義好的DSN為test,則打開資料庫的方式為:

五、結束語

在ASP程序中,建立資料庫的連接和訪問資料庫,有很多方式和技術細節,在此難以一一詳述。實際上,對SQL Server資料庫,DBF資料庫,文本文件,電子表格文件等,也都可以很方便的打開和訪問,與對Access資料庫的訪問大同小異而已。如果說方便,Access應該是首選。如果考慮安全保密性,SQL資料庫更好些。使用系統數據源DSN的方式建立對資料庫的連接,具有更大的靈活性,也更簡便些。

❷ 教你如何解決access資料庫連接錯誤

access資料庫連接錯誤解決辦法步驟一:請檢查conn.asp中的連接字元是否正確,如果沒有錯誤,還提示資料庫連接出錯,請往下看access資料庫連接錯誤解決辦法步驟二:把資料庫下載到本地(默認資料庫
database/#newasp.mdb),用ACCESS打開,壓縮修復資料庫(打開ACCESS
--
工具
--
資料庫實用工具
--
壓縮和修復資料庫);然後重新上傳access資料庫連接錯誤解決辦法步驟三:如果以前操作無誤,照樣出現資料庫連接出錯,那麼就是許可權問題了,下面以2003為例請對C:\WINDOWS
目錄給
users用戶加上讀取許可權(千萬不要給完全許可權,有讀的許可權就行了),加上許可權後,如果資料庫連接正確就OK了如果問題還沒有解決,請查看:C:\WINDOWS\Temp
目錄許可權,給users
用戶加上特別的許可權,其它許可權都可以去掉。可能你不知道這個特別許可權不知道怎麼加,方法如下:選擇temp目錄--右鍵--屬性--安全--添加--高級--立即查找--選擇Users用戶--確定返回到安全選項,選擇Users用戶
--
高級
--
選擇Users「編輯」
--
選擇如下許可權,其它許可權全部取消以上詳細的為大家介紹了解決access資料庫連接錯誤的辦法,希望能給大家帶來幫助。

❸ 怎樣在asp.net中連接ACCESS資料庫

在asp.net中連接ACCESS資料庫有兩種方法,具體操作如下:

❹ 如何連接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資料庫連接錯誤

步驟一:請檢查conn.asp中的連接字元是否正確,如果沒有錯誤,還提示資料庫連接出錯,往下看access資料庫連接錯誤。

步驟二:把資料庫下載到本地(默認資料庫 database/#newasp.mdb),用ACCESS打開,壓縮修復資料庫(打開ACCESS -- 工具 -- 資料庫實用工具 -- 壓縮和修復資料庫);然後重新上傳access資料庫連接錯誤。

步驟三:如果以前操作無誤,照樣出現資料庫連接出錯,那麼就是許可權問題了需要更改許可權。

❻ 網頁里怎麼連接ACCESSS資料庫、

是ACCESS資料庫的話,默認的資料庫尾綴是.mdb
格式的
就在程序裡面。
找到程序裡面的conn.asp文件來編輯,連接資料庫的路徑就可以了!

❼ 如何通過網路(Internet)訪問ACCESS資料庫

可以是可以,但是你這樣訪問會出問題,ACCESS是以獨占形式存在的,當那邊在使用,你這邊就只能只讀了,如果你不會編程哪我教你個簡單辦法:
在區域網范圍隨便那台電腦安裝個SQL Server
用ACCESS在區域網范圍新建一個連接表,讓連接表去鏈接SQL Server的表,這教網路連接表
然後在區域網范圍你的ACCESS就可以作為客戶端任意使用,SQL Server變成了數據伺服器,前提條件SQL Server電腦是開啟的,並且開啟用戶訪問許可權

❽ Access資料庫的連接

1.Access資料庫的DSN-less連接方法:
set adocon=Server.Createobject("adodb.connection")
adoconn.Open"Driver={Microsoft Access Driver(*.mdb)};DBQ="&
Server.MapPath("資料庫所在路徑")
2.Access OLE DB連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Provider=Microsoft.Jet.OLEDB.4.0;"&
"Data Source=" & Server.MapPath("資料庫所在路徑")

❾ web怎麼和access資料庫連接

ACCESS資料庫是個文件來的,不用配置的了,在解決方案中添加你創建的ACCESS數據文件中,系統會提示你是否創建App_Data目錄並將ACCESS文件添加到此目錄中,選擇"是"就可以了,再在程序中創建連接到此文件的連接字元串即可.(此文後面有在web.config中配置的方法)例如
String con = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" + System.Web.HttpContext.Current.Server.MapPath("App_Data/YouAccessData.mdb");
然後就像用其它資料庫一樣用了.
完全示例:
C#連接Access程序代碼:
usingSystem.Data;
usingSystem.Data.OleDb; stringstrConnection="Provider=Microsoft.Jet.OleDb.4.0;";
strConnection+=@"DataSource=C:\ASPNET\YouAccessData.mdb";
OleDbConnectionobjConnection=newOleDbConnection(strConnection);
//或
//stringstrConnection = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" + System.Web.HttpContext.Current.Server.MapPath("App_Data/YouAccessData.mdb");
objConnection.Open();
objConnection.Close();
解釋:
C#連接Access資料庫需要導入額外的命名空間,所以有了最前面的兩條using命令,這是必不可少的。
strConnection這個變數里存放的是連接資料庫所需要的連接字元串,指定了要使用的數據提供者和要使用的數據源。
「Provider=Microsoft.Jet.OleDb.4.0;」是指數據提供者,這里使用的是Microsoft Jet引擎,也就是Access中的數據引擎,asp.net就是靠這個和Access的資料庫連接的。
「Data Source=C:\BegASPNET\Northwind.mdb」是指明數據源的位置,他的標准形式是「Data Source=MyDrive:MyPath\MyFile.MDB」。
PS:
1.「+=」後面的「@」符號是防止將後面字元串中的「\」解析為轉義字元。
2.如果要連接的資料庫文件和當前文件在同一個目錄下,還可以使用如下的方法連接:
strConnection+="Data Source=";strConnection+=MapPath("Northwind.mdb");
3.要注意連接字元串中的參數之間要用分號來分隔。
「OleDbConnection objConnection=new OleDbConnection(strConnection);」這一句是利用定義好的連接字元串來建立了一個鏈接對象,以後對資料庫的操作我們都要和這個對象打交道。
「objConnection.Open();」這用來打開連接。至此,與Access資料庫的連接完成。
再來一個示例:
using System.Data.OleDb;
using System.Data;
//連接指定的Access資料庫
String ConnString =@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=App_Data\YouAccessData.mdb";
//SQL語句
String SQLString ="select * from TestDB";
//創建一個OleDbConnection對象
System.Data.OleDb.OleDbConnection OleDBConn1 = new System.Data.OleDb.OleDbConnection(ConnString);
//創建一個DataSet對象
DataSet DataSet1 = new DataSet();
//創建一個OleDbDataAdapter對象
System.Data.OleDb.OleDbDataAdapter OleDbDataAdapter1 = new System.Data.OleDb.OleDbDataAdapter(SQLString,OleDBConn1);
//打開連接
OleDBConn1.Open();
//通過OleDbDataAdapter對象填充數據集
OleDbDataAdapter1。Fill(DataSet1,"TT");
另外是在web.config中如何使用access資料庫連接了,估計就是所要的了:
一: 一種是通過使用 DataDirectory 目錄的方法,但是 access 文件必須放在 ASP.NET 的特殊目錄中,如 app_data ;
<addname="access"connectionString="Provider=Microsoft.Jet.Oledb.4.0;
Data Source=|DataDirectory|db.mdb"/>
二:另外一種方法則比較靈活,具體方法是:在 web.config 文件中保存兩個字元串,一個是驅動字元串,另一個是 access 文件的相對路徑;
使用時用 Server.MapPath 來獲取絕對路徑然後組合出來的連接字元串就可以使用了;
在web.config中的寫法如下:
<appSettings>
<add key="ConnStr" value="provider=microsoft.jet.oledb.4.0;data source="/>
<add key="dbPath" value="/AppData/db.mdb"/>
</appSettings>
程序中的數據訪問類中我把"ConnStr"和"dbPath"取出來再連接成一個字元串
代碼如下:
/// <summary>
/// (靜態)返回資料庫連接串。
/// </summary>
protected static string GetConnString()
{
return
System.Configuration.ConfigurationSettings.AppSettings["ConnStr"]+ System.Web.HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationSettings.AppSettings["dbPath"])+";";
}

三:直接寫資料庫的物理路徑
<connectionStrings>
<add name="qxConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Inetpub\wwwroot\web\App_Data\db.mdb"
providerName="System.Data.OleDb" />
</connectionStrings>
注意:Data Source字元的寫法一定要正確,否則可能會出現「找不到可安裝的ISAM」的錯誤。