7.5 自定义连接字符串 除了使用DSN数据源连接数据库以外,还可以使用自定义连接字符串,在Web应用程序和数据库之间创建数据库连接。与DSN数据源不同,连接字符串是一个包含了很多参数的字符串,其间用分号分割,这些参数包含了Web应用程序,在服务器上连接到数据库所需的全部信息。在讲解连接字符串之前,先搞清楚这样两个概念:ODBC和OLE DB。 ● ODBC(Open Database Connectivity):在早期,各个数据库的格式均不统一,为了能处理各种各样的数据库,人们就创建了ODBC这样一个通用的API库。但是程序员在开发数据库程序中,仍然感到困难,所以微软公司在DAO、ADO的基础上提出了OLE DB。 ● OLE DB:一个基于COM的数据存储对象,能提供对所有类型的数据的操作,甚至能在离线的情况下存取数据。 在前面使用DSN数据源时,每次都需要在ODBC数据管理器当中建立一个数据源,然后Web程序就通过ODBC层来与数据库进行通信。但是OLE DB消除了Web应用程序和数据库之间的ODBC层,从而提高了连接的速度。由于不同的数据库需要不同的OLE DB驱动程序,所以在使用OLE DB时,需要指定驱动程序。如果没有指定ASP会使用ODBC驱动程序的默认OLE DB提供程序与ODBC驱动程序进行通信,然后再与数据库进行通信。可以在微软的网站上下载Microsoft Data Access Components(简称MDAC)2.8软件包,并将其安装在运行IIS或PWS的Windows计算机上,获取用于Microsoft Access和SQL Server的OLE DB提供程序。而Oracle数据库的OLE DB提供程序需要另外从Oracle Web站点下载,该站点需要读者注册为用户才能下载。 %注意:由于OLE DB由微软公司提出,所以只有Windows 2000/2003/XP支持。 对于Access和SQL Server数据库,连接字符串具有如下语法格式。 ODBC: Driver={ Driver (*.mdb)};DBQ=[DSN] OLE DB: Provider=[OLE DB Provider];Server=[ServerName];Database=[DatabaseName];UID=[UserID];PWD=[Password] 其中涉及的参数解析如下: ● Provider:该参数指定数据库的OLE DB提供程序。如果没有Provider参数,则将使用ODBC的默认OLE DB提供程序,而且,必须为数据库指定适当的ODBC驱动程序。下面分别是Access、SQL Server和Oracle数据库的常用OLE DB提供程序的参数:Provider=Microsoft.Jet.OLEDB.4.0;Provider=SQLOLEDB;Provider=OraOLEDB。 ● Driver:该参数指定在没有为数据库指定OLE DB提供程序时,所使用的ODBC驱动程序。 ● Server:该参数指定承载SQL Server数据库(Access数据库不存在Server)的服务器,这种情况下,指Web应用程序和数据库服务器,不在同一台服务器上运行。 ● Database:该参数为SQL Server数据库的名称(同样Access数据库不存在)。 ● DBQ:该参数为指向基于文件的数据库(如在Access中创建的数据库)的路径。该路径是在承载数据库文件的服务器上的路径。 ● UID:该参数为连接数据库的用户名。 ● PWD:该参数为用户密码。 ● DSN:该参数为数据源名称。这种情况,指已经在服务器上定义的DSN名称。 ● 对于其他类型的数据库,连接字符串可能不使用上面列出的参数,或者可能对于这些参数,有不同的名称或用途。 下面是一个连接字符串示例,将创建与d盘根目录下名为test.mdb的Access数据库的ODBC连接: Driver={Microsoft Access Driver (*.mdb)};DBQ=d:\test.mdb 对应OLE DB连接方式的连接字符串如下: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\test.mdb;Persist Security Info=False 下面是一个连接字符串示例,它将创建与位于test服务器上名为Mydb的SQL Server数据库的OLE DB连接,其中用户名和密码都是假定: Provider= SQLOLEDB.1;Server=test;Database=Mydb; User ID =user; Password =password 7.5.1 连接Access 在了解了自定义连接字符串的知识以后,就需要在Dreamweaver中通过其将网页连接上数据库。本小节将以Access为例来进行具体讲解。 (1)在Dreamweaver中打开一个ASP页,然后依次选择【窗口】|【数据库】命令,打开【数据库】面板。 (2)单击该面板上的【添加】按钮,弹出下拉菜单,选择【自定义连接字符串】命令,打开【自定义连接字符串】对话框,如图7.30所示。 (3)在【连接名称】文本框中输入连接名称,如MyConn,再在【连接字符串】文本框中输入自定义连接字符串。假定连接一个c:\input\wwwroot\db目录下的名为bbsdb.mdb的Access库,该库具有密码admin,那么定义连接字符串如下: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\input\wwwroot\db\testdb.mdb;Persist Security Info=False; Jet OLEDB:Database Password=admin 注意在这种情况下,连接字符串中必须包含Password参数和值。 上面是以OLE DB方式进行连接的,实现同样功能的ODBC方式连接字符串如下: Driver={Microsoft Access Driver (*.mdb)};DBQ= c:\input\wwwroot\db\testdb.mdb;PWD=admin (4)单击【测试】按钮测试数据库连接是否成功,如果弹出如图7.31所示的对话框,则说明连接成功。 图7.30 【自定义连接字符串】对话框 图7.31 测试成功 (5)单击【确定】按钮,完成设置,退回到Dreamweaver编辑界面。这时刚才建立的MyConn连接,会立即出现在【数据库】面板中。 7.5.2 连接SQL Server 连接SQL Server只需要在连接Access数据库的基础上修改一下连接字符串。 (1)在Dreamweaver中打开一个ASP页,然后依次选择【窗口】|【数据库】命令,打开【数据库】面板。 (2)单击该面板上的【添加】按钮,弹出下拉菜单,选择【自定义连接字符串】命令,打开【自定义连接字符串】对话框,如图7.32所示。 图7.32 【自定义连接字符串】对话框 (3)在【连接名称】文本框中输入连接名称,如MySQLConn。然后在【连接字符串】文本框中输入自定义连接字符串,单击【测试】按钮测试数据库连接是否成功。 假定为本地的SQL Server数据库的用户名和密码都为TestUser,那么连接字符串为: Provider=SQLOLEDB.1;Password=TestUser;Persist Security Info=True;User ID=TestUser;Data Source=127.0.0.1 (4)单击【确定】按钮,完成设置,退回到Dreamweaver编辑界面。 这时刚才建立的MySQLConn连接会立即出现在【数据库】面板中。 |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-11-6 03:16 , Processed in 0.497444 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.