Ⅰ 连接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的方式建立对数据库的连接,具有更大的灵活性,也更简便些。
Ⅱ 如何通过网络(Internet)访问ACCESS数据库
可以是可以,但是你这样访问会出问题,ACCESS是以独占形式存在的,当那边在使用,你这边就只能只读了,如果你不会编程哪我教你个简单办法:
在局域网范围随便那台电脑安装个SQL Server
用ACCESS在局域网范围新建一个连接表,让连接表去链接SQL Server的表,这教网络连接表
然后在局域网范围你的ACCESS就可以作为客户端任意使用,SQL Server变成了数据服务器,前提条件SQL Server电脑是开启的,并且开启用户访问权限
Ⅲ 如何连接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开发的数据库通常通过内网连接很容易。
直接用链接表链接共享文件夹中的ACCESS数据库中的表就可以。
如果是要外网连接,现在的一般做法是用一台装了IIS的电脑当主机。
在主机的IIS目录里面放ASP开发的网页连接主机上的ACCESS数据库。
外网浏览网页实现对数据库的操作。
Ⅳ ACCESS数据库外网连接
ODBC数据库可以实现,把SQL Server数据库1433端口映射到外部网络,然后通过外网地址做ODBC SQL Server链接表,这样ACCESS就可以全网通用了。
更安全一点的办法就只有虚拟局域网了,把外网变内网。
Ⅵ VB连接网络ACCESS数据库
首先,用windows的ODBC连接到某个电脑上的access文件
再用,vb的ADO控件连接ODBC就可以了
Ⅶ 请问:Access数据库可以联网操作吗
当然可以。
只要把ACCESS放在共享文件夹中,在数据库菜单的工具->选项->高级->默认打开模式设为共享即可以,其它用户可以和你同时使用,不过最好对数据库进行拆分.分为前台和后台数据库进行运行.
Ⅷ 如何连接到 Access 数据库
所使用的数据访问接口取决于创建该数据源的 Access 版本:对于Access 2003 以及早期版本,该包需要 Microsoft Jet OLE DB 访问接口。对于Access 2007,该包需要 Microsoft Office 12.0 Access 数据库引擎的 OLE DB 访问接口。您可以创建 OLE DB 连接管理器,并从 SSIS 设计器的“连接管理器”区域或从 SQL Server 导入和导出向导中选择相应的数据访问接口。注意在64 位计算机上,必须以 32 位模式运行连接到 Microsoft Access 数据源的包。