在基于微软IIS/PWS的网络平台上,通过服务器端运行的ASP程序来访问后台数据库,是一种最常见的模式了。而对于小型的数据库应用需求,微软的Access数据库,应该是与ASP程序配套使用的首选。由于Access数据库的ODBC驱动程序支持的SQL指令全,执行效率高,所以Access后台数据库+ASP服务器端程序+客户端IE浏览器,是一个精练实用高效的组合模式。
在这种使用模式中,ASP程序无疑是最重要的,是沟通客户端和后台数据库之间的桥梁。在ASP程序中,通过VB Script,建立对Access数据库的连接,是客户能够访问后台数据库的前提。
一、建立Access数据库连接的常用方法
在ASP中建立对Access数据库连接的一般格式如下:
<%
DbPath=ServerMapPath(数据库名)
Set Conn=ServerCreatObject(“ADODBConnection”)
ConnOpen “driver=;dbq=”& DbPath
Set rs=ServerCreatObject(“ADODBRecordset”)
RsOpen 数据表名或SQL指令,Connection对象,Recordset类型,锁定类型
… …
%>
它的各步骤及参数意义如下:
第一行程序:利用Server对象的MapPath函数,取得要打开数据库的完整的文件路径,并存储在变量DbPath中。这其中,数据库名是我们需要指定的参数,应该用我们要打开的数据库的实际名称替代。如果数据库名是直接作为常量出现,要用引号将其括起来,并且不能丢掉扩展名。例如数据库是Testmdb,则该行程序成为:DbPath=ServerMapPath(“Testmdb”)。
第二行程序:建立一个ADO对象集中的Connection对象,也即连接对象。这是建立数据库连接的初始步骤。执行这行程序后,Conn成为一个连接对象。
第三行程序:利用连接对象Conn的Open方法打开一个指定的数据库。因为我们要打开的是Access数据库,所以要指定ODBC驱动程序参数,表示要透过Access的ODBC驱动程序来访问数据库:driver=;。另一个参数dbq= & DbPath,运算后等效于dbq=ServerMapPath(数据库名) ,是利用了第一行的ServerMapPath(数据库名)函数,用来指定要打开的数据库文件。到这里,就已经打开了数据库名指定的数据库。如果数据库名是“testmdb”,则打开Access数据库Testmdb。在这一行里指定的参数,要严格按照格式原样写出,不能省略或改动,也没有可变参数。
第四行程序:建立一个ADO对象集中的Recordset对象,以便利用Recordset对象 *** 作数据库(当然,这只是对数据库 *** 作的多种方式之一)。执行这行后,rs就成为一个Recordset对象。
第五行程序:利用rs对象的Open方法打开数据库中的数据表。这其中有四个参数,其意义如下:
数据表名或SQL指令串:在这个参数里指定要打开的数据库内的数据表名称,或者是用SQL的Select指令串确定的数据表的指定范围数据,例如,数据库Testmdb中有数据表Number,则该参数成为“Number”,注意引号不能丢;若想打开数据表Number中xh字段值小于90的数据记录,则该参数可能成为如下的形式:
“Select From Number Where xh < 90”。
Connection对象:指定已经打开的数据库的Connection对象,在这里固定是Conn,注意无须引号的。
Recordset类型:表示打开数据表的方式,有四种选择。数字0表示只读方式,且当前记录只能下移;数字1表示可读写方式,当前记录可自由上下移动,但不能及时看到别的用户建立的新记录,除非重新启动;数字2表示可读写方式,当前记录可自由移动,而且可以及时看到别的用户增加的新记录;数字3表示只读方式,但当前记录可以自由移动。一般选择2为好,除非为了禁止数据被修改。
锁定类型:这个参数指定数据库的锁定功能。因为网络上的数据库都是多用户的,很可能同时有多个用户在 *** 作数据库。为了避免错误,让同一时间只可能有一个用户修改数据,就要用锁定功能。有四种选择:数字1表示只读方式锁定,用户不能更改数据;数字2表示悲观锁定,当一个用户用rs对象开始修改数据时就锁定数据库,直到用户用rsUpdate更新记录后,才解除锁定;数字3表示乐观锁定,只有在数据写入数据库中时候才锁定,不保险,慎用!数字4表示批次乐观锁定,只有在使用rsUpdateBatch成批更新数据时候才锁定数据记录。属于很少使用的。一般地,使用悲观锁定比较安全,但是效率要低些。
二、使用Recordset对象 *** 作数据
用上面的方法打开数据库,是利用了Recordset对象建立的数据库连接,然后的对数据 *** 作,也要使用该对象。
用rsopen “数据表名”,Conn,2,2 方式打开数据表,就可以方便的对数据进行 *** 作:
常见的 *** 作对象:
rsaddnew :添加一个新记录在数据表末尾。
rsdelete :删除当前记录。
rseof :判断是否已过最后记录。
rsbof :判断是否移过首记录。
rsupdate :数据修改生效。
rs(“字段名”):当前记录指定字段的值。
从数据表中提取数据:用x=rs(“字段名”)的格式,提取数据表中当前记录指定字段的值。
向数据表中填入或修改数据:用rs(“字段名”)=数据值或变量的方式,修改当前记录指定字段的值。
三、使用SQL指令 *** 作数据库
在使用SQL指令对数据库进行 *** 作时,要用如下方式打开数据库和 *** 作:
<%
DbPath=ServerMapPath(数据库名)
Set Conn=ServerCreatObject(“ADODBConnection”)
ConnOpen “driver=;dbq=”& DbPath
Sql= *** 作数据库的指令串
ConnExecute sql
… …
%>
四、使用DSN连接数据库
在以上连接数据库的方式中,都是在程序中指定数据库,指定ODBC驱动程序。如果数据源有变化,就需要修改程序。如果在系统级别上,预先定义好数据源DSN,就可以避免这个麻烦。
在定义DSN的过程中,就已经指定好了数据源需要的ODBC驱动程序,也指定好了数据库文件的实际路径和名字,我们在程序中,只需要引用预先定义的数据源名DSN即可。
设定义好的DSN为test,则打开数据库的方式为:
五、结束语
在ASP程序中,建立数据库的连接和访问数据库,有很多方式和技术细节,在此难以一一详述。实际上,对SQL Server数据库,DBF数据库,文本文件,电子表格文件等,也都可以很方便的打开和访问,与对Access数据库的访问大同小异而已。如果说方便,Access应该是首选。如果考虑安全保密性,SQL数据库更好些。使用系统数据源DSN的方式建立对数据库的连接,具有更大的灵活性,也更简便些。
关于数据库无法连接的,大致总结了一下常见程序的数据库链接文件到底是哪一个:1 帝国系统网站数据库配置文件路径:web/e/class/configphp2 shopex系统网站数据库配置文件路径:web/config/configphp3 DEDECMS(织梦)系统网站数据库配置文件路径:web/data/ commonincphp4 php168系统网站的数据库配置文件路径:web/php168/mysql_configphp5 其他net的网站一般web/webconfig文件是数据库配置文件6phpcms系统的数据库配置文件路径:web/include/configincphp7discuz论坛系统的网站的数据库配置文件一般3个,分别为: web/uc_server/data/configincphpweb/config/config_globalphpweb/config/config_ucenterphp可以根据您具体的数据库信息修改一下数据库链接文件,当您数据库无法连接上的时候,(前提是先确定好我们数据库是正常的,也就是登陆您数据库高级管理看可以不可以进去,如果可以一般是数据库就没什么问题的了)。
另外,还有一些小技巧:①服务器、数据库、用户名和密码都是不可以使用汉字、全角字符或其它特殊字符命名的;②要是数据库是在本机安装的,那么服务器名一般是“”或者“(local)”来代替;③如果数据库装在局域网中其它计算机(服务器)上,服务器名可以用服务器的IP地址来代替;④如果正在使用的软件突然出现数据库不能连接,那么修改一下服务器名,一般就可以解决;2、常见原因:SQL服务管理器没有运行(没有启动)或者是SQL数据库安装时候就没有安装好;解决方法:写在数据库,并重新安装,并且需要启动SQL服务管理器(安装完数据库后,SQL服务管理器默认为开机启动);3、常见原因:计算机安全保护的限制、SQL Server安全设置出现错误或者是 *** 作系统的安全限制;解决方法:正确的设置安全保护软件,特别是Windows防火墙的设置,然后再重新设置SQL数据库安全属性;上面这些内容就是对数据库连接失败怎么办这种停车场系统常见故障的相关介绍,不过还是建议非专业人士不要自行 *** 作,以免丢失数据。
您好!木头贝贝为你回答此问题:刚刚仔细的看了你问题的;但是有点不大明白你是做C#方面的还是java方面的呢,有使用什么数据库来连接呢?如果是C#(aspnent)方面并且是连接是Sqlserver的连接方式可以这样写: //连接数据库的字符串
public static string connString = "Data Source=;Initial Catalog=数据库名称;Integrated Security=True";如果是Java连接Sqlserver的可以这样写:1》public final static String dATABASE_CLASString="commicrosoftsqlserverjdbcSQLServerDriver";
public final static String DATABASE_URL="jdbc:sqlserver://localhost:1433;databaseName=message";
public final static String DATABASE_USER="sa";//这是你数据库的用户名
public final static String DATABASE_PASSWORD="";//这是你数据库密码
private static Connection dbConnection=null;
private static PreparedStatement pStatement=null;
private static ResultSet rSet=null;
//连接数据库
public static Connection getConnection()
{
Connection dbConnection=null;
try {
ClassforName(dATABASE_CLASString);
dbConnection=DriverManagergetConnection(DATABASE_URL,DATABASE_USER,DATABASE_PASSWORD);
} catch (Exception e) {
eprintStackTrace();
}
return dbConnection;
}
2》java项目中的根目录下的lib文件夹下添加支持Sqlserver连接的架包3》测试是否连接的上 以上是我为你回答的答案,如果你进行的不是太顺利,我可以帮助你的! 谢谢!
以上就是关于数据库连接方式有哪些全部的内容,包括:数据库连接方式有哪些、数据库无法连接如何解决、停车场系统常见故障:数据库连接失败怎么办等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)