【asp源码栏目提醒】:网学会员,鉴于大家对asp源码十分关注,论文会员在此为大家搜集整理了“ASP动态网站如何通过自定义连接字符串与Access数据库建立连接 - 讲义教程”一文,供大家参考学习!
ASP动态网站如何通过自定义连接字符串与Access数据库建立连接 假定所有操作均在如下环境下进行 1. XP SP2 系统系统中已安装了 IIS 服务器和 Office2003用其中的 Access2003 建立数据库网站制作工具是 Dreamweaver MX 2004 或 Dreamweaver 8下面均简称 DW 2. 假设你网站本地存放位置是 F:try网站主页文件是 index.
asp 本地存放于 F:try下做数据库连接试验用的数据库名字是aaa.mdb本地存放位置是 F:trydataaaa.mdb。
3. 在本地 IIS 中已经为你在 F:try 下的网站建立了虚拟目录虚拟目录的名字由你自己决定例如仍命名为 try 。
一、在本地“浏览”调试网站时的连接方法 在 DW 或本地的 IIS 服务器下浏览、调试网站访问数据库时自定义连接字符串中使用数据库的绝对路径操作如下 打开 DW建好站点打开所需网页例如主页文件 index.
asp在弹出的“自定义连接字符串”对话框中“连接名称”栏填写自定义的名称为了养成好的编程习惯最好名称前加上 conn 前缀表明这是一个数据库的连接名称例如本来你想起的连接名称为 test加上 conn 前缀后的连接名称为 conntest。
在“连接字符串”栏中填写 DriverMicrosoft Access Driver .mdbDBQ你的数据库的绝对路径 把本文开始处假定的具体参数代进去就是 DriverMicrosoft Access Driver .mdbDBQF:trydataaaa.mdb 一定要注意Driver 和 .mdb 之间有个空格不要写错了写错了不能通过“测试”当然也连接不上数据库。
上面连接字符串两端的双引号在输入时可以省略DW 会自动为你补上的。
在“Dreamweaver 应连接”项中应选择“使用此计算机上的驱动程序”。
填写完毕后点击右边的测试按钮如果操作没有问题的话就会弹出“成功创建连接脚本”的信息牌。
点击确定完成连接的创建。
此时回到 DW 的“应用程序”面板中的数据库可以看到我们创建的数据库连接已经生效并能查看数据库的结构和相关信息。
在数据库的数据表图标上单击右键选择“查看数据”可以查看到该数据表中的详细内容。
在“文件”面板中我们可以看到 DW 自动生成了一个 Connections 的文件夹其中包含了一个以我们刚才自定的连接名称 conntest 命名的
asp 文件这个就是保存连接字符串的地方。
之后的绑定记录集操作因不是本文主题故略去。
到此与数据库连接的网页在本地 IIS 服务器和 DW 下可以正常访问数据库进行“浏览”了但不能保证你的网站上传到远程服务器的空间后也能正常。
二、让数据库的连接同时适应本地和远程服务器环境 我们在连接中使用了数据库的绝对路径 F:trydataaaa.mdb而当我们把网站上传到远程服务器后服务器上你的数据库的绝对路径可能和本地路径不一样相关程序就会出错。
为了避免这种情况我们应在程序中使用相对路径。
在 DW 下双击打开连接文件本文中是 conntest.
asp切换到代码编辑方式找到其中的这一行 MM_conntest_STRING DriverMicrosoft Access Driver .mdbDBQF:trydataaaa.mdb 在这一行前加一个单引号“”把它变成注释行然后在下面新建一行输入如下代码 MM_conntest_STRING ProviderMicrosoft.Jet.OLEDB.4.0Data SourceServer.Mappathdata/aaa.mdb 很多人也许会奇怪为什么我们不在创建连接时就使用相对路径呢其实这是有原因的。
在 DW 中的连接字符串中只能使用绝对路径而 DW 有个特点就是检测连接文件这里是 conntest.
asp时会连注释以单引号开头的行一起解释、执行在 DW 中“浏览”网页、执行数据库的连接时只认第一个出现的连接字符串而不管它前面是否有作为注释标记的单引号而在远程 IIS 服务器中解释文件时会忽略掉注释即绕过有注释标记的行执行上面我们另加的第二个连接字符串。
根据这个特点我们就实现了在本地 IIS 服务器和 DW 下调试程序使用绝对路径在远程服务器上浏览时使用相对路径定位数据库使得网站与数据库的连接在网站存放地点不同的情况下能“自动”随机应变畅通无阻。
到此数据库的连接创建完毕。
名词解释 microsoft.jet.oledb.4.0 是access数据库引擎4.0版jet是“引擎”的意思可理解成是访问access数据库的驱动。
win 98 se 以上版本附带无需另外安装是随 microsoft data access components mdac 版本 2.1 或者更高的版本安装的。
微软操作系统windows安装后自带madc只不过版本不同。
参考《编程知识论坛》http://www.bczs.net/xml/2006/4/21/4704528.xml odbc odbcopen database connectivity即开放数据库互联。
odbc基于sqlstructured query language并把它作为访问数据库的标准。
这个接口提供了最大限度的相互可操作性:一个应用程序可以通过一组通用的代码访问不同的数据库管理系统。
一个软件开发者开发的客户/服务器应用程序不会被束定于某个特定的数据库之上。
odbc可以为不同的数据库提供相应的驱动程序。
对于
asp程而言odbc数据源是
asp程序的ado组件和数据库之间的接口。
引自《龙城教育》http://www.gxou.com.cn/ziyuan/kejian/2005dfyy/wangluo-lz/aspsql1.html odbcopen database connectivity开放数据库互连是微软公司开放服务结构wosawindows open services architecture中有关数据库的一个组成部分它建立了一组规范并提供了一组对数据库访问的标准api应用程序编程接口。
这些api利用sql来完成其大部分任务。
odbc本身也提供了对sql语言的支持用户可以直接将sql语句送给odbc。
一个基于odbc的应用程序对数据库的操作不依赖任何dbms不直接与dbms打交道所有的数据库操作由对应的dbms的odbc驱动程序完成。
也就是说不论是foxpro、access还是oracle数据库均可用odbc api进行访问。
由此可见odbc的最大优点是能以统一的方式处理所有的数据库。
一个完整的odbc由下列几个部件组成 应用程序application odbc管理器administrator 该程序位于windows 95控制面板control panel的32位odbc内其主要任务是管理安装的odbc驱动程序和管理数据源。
驱动程序管理器driver manager。
驱动程序管理器包含在odbc32.dll中对用户是透明的。
其任务是管理odbc驱动程序是odbc中最重要的部件。
odbc 驱动程序 是一些dll提供了odbc和数据库之间的接口。
数据源 数据源包含了数据库位置和数据库类型等信息实际上是一种数据连接的抽象。
应用程序要访问一个数据库首先必须用odbc管理器注册一个数据源管理器根据数据源提供的数据库位置、数据库类型及odbc驱动程序等信息建立起odbc与具体数据库的联系。
这样只要应用程序将数据源名提供给odbcodbc就能建立起与相应数据库的连接。
odbc api 在odbc中odbc api不能直接访问数据库必须通过驱动程序管理器与数据库交换信息。
驱动程序管理器负责将应用程序对odbc api的调用传递给正确的驱动程序而驱动程序在执行完相应的操作后将结果通过驱动程序管理器返回给应用程序。
在访问odbc数据源时需要odbc驱动程序的支持。
用visual c 5.0安装程序可以安装sql server、 access、 paradox、 dbase、 foxpro、 excel、 oracle 和microsoft text等驱动程序在缺省情况下vc5.0只会安装sql server、 access、 foxpro和dbase的驱动程序如果用户需要安装别的驱动程序则需要重新运行vc 5.0的安装程序并选择所需的驱动程序。
如何配置odbc数据源 1、用户dsnodbc用户数据源存贮了如何与指定数据库提供者连接的信息。
只对当前用户可见而且只能用于当前机器上。
这里的当前机器是只这个配置只对当前的机器有效而不是说只能配置本机上的数据库。
它可以配置局域网中另一台机器上的数据库的。
2、系统dsn: odbc系统数据源存贮了如何指定数据库提供者连接的信息。
系统数据源对当前机器上的所有用户都是可见的包括nt服务。
也就是说在这里配置的数据源只要是这台机器的用户都可以访问。
3、文件dsnodbc文件数据源允许用户连接数据提供者。
文件dsn可以由安装了相同驱动程序的用户共享。
这是界于用户dsn和系统dsn之间的一种共享情况。
4、驱动程序这页列出了本机上所有安装的数据库驱动程序。
里面列举了每个驱动程序的名称版本提供商公司驱动程序文件名以及安装日期。
5、跟踪odbc跟踪允许创建调用odbc的日志提供给技术人员查看。
里面可设定日志的路径和文件名。
技术人员通过这里面的信息可以看到本机上所有的数据库访问的时间用户以及出错信息等情况。
也可以通过这个辅助调试应用程序可以启动visual studio的分析器来进行odbc的跟踪。
6、连接池连接池允许应用程序重用原来打开的的连接句柄这样可以节省到服务器的往返过程。
7、关于最后这一页列出了所有的odbc的核心文件 连接数据库时出现问题的解答 问1用microsoft.jet.oledb.4.0怎样连接带密码的access数据库 答access中有两层密码即组密码和用户密码也称数据库密码组密码是在建立连接字符串时的输入的用户名为admin密码一般都为空。
另一层密码即用户密码则是打开数据库时所需要的即先检验的那层密码设置这个密码是在access内以独占方式打开数据库在菜单“工具”-“安全”-“设置数据库密码”选项里设置的。
如果你设置了组密码则连接字符串为 providermicrosoft.jet.oledb.4.0data source app.path dbdb2.mdbpassword组密码 如果你设置了用户密码数据库密码则连接字符串为 providermicrosoft.jet.oledb.4.0data source app.path dbdb2.mdbdatabasepassword用户密码 如果你把这两层密码都设置了则需要建立的连接字符串是 providermicrosoft.jet.oledb.4.0data source app.path dbdb2.mdbpassword组密码jet.oledb:databasepassword用户密码 以上假设你的数据库相对路径是dbdb2.mdb。
一般来说组与用户密码建议不要设置只有在多用户管理时才有可能要用得到 问2不是说 dw 可以执行以单引号为首的注释行吗但是在 dw 下给连接文件“楼主”处的 conntest.
asp mm_conntest_string drivermicrosoft access driver .mdbdbqf:trydataaaa.mdb 这一行前加上一个单引号“”把后本来可以在本地浏览的有数据库连接的网页就打不开了并显示出错信息这是为什么 答你说的是事实。
请注意“楼主”处说的“????dw 有个特点就是检测连接文件这里是 conntest.
asp时会连注释以单引号开头的行一起解释、执行????”请注意这段话的红字部分即加上单引号后只保证在 dw 下我们看到的数据库连接关系仍有效、没有发生变化并没有说带有数据库连接的网页仍可以正常显示。
因此在你给原来的连接字符串前加完单引号后应立即在该行下面加入这一行 mm_conntest_string providermicrosoft.jet.oledb.4.0data sourceserver.mappathdata/aaa.mdb 这样网页在本地和远程都可以正常显示了。
实际上最后使本地和远程环境下有数据库连接的网页能正常浏览的字符串是 mm_conntest_string providermicrosoft.jet.oledb.4.0data sourceserver.mappathdata/aaa.mdb 那么有人要问为什么不把它作为 dw 中的自定义连接字符串在开始建立连接时就直接输入呢哈哈做个试验就清楚了建立时 dw 根本就不认这个字符串 所以要我们后来用手工补上。
可能还有人问既然第二个手工补入的字符串能保证本地和远程的数据库连接那么第一个由 dw 生成的连接字符串是不是可以删掉啊 回答是不行。
如果删掉在 dw 中对网站的编辑时在数据库标签下的数据表的内容将显示“无”形成数据库没有正确连接的假象给你的编程造成混乱这时有些人就会重新建立数据库连接哈哈这一来可就糟了——— dw 会重新修理 connection 文件夹下的连接文件本文中是 conntest.
asp把你后来补入的第二个字符串删掉 现在 dw 8 有升级补丁了可能在今后的升级中 dw 的设计者能补上这些“缺憾”吧。
问3在 dw 中建立站点例如名字为 try 和使用自定义连接字符串连接数据库均“测试”成功但在连接文件本例为conn.
asp中加了第二个连接字符串后 dw 下应用程序数据库下“表”的内容显示为“无” 答这是由于使用了shiftenter创建下一行时在第一个字符串尾产生的换行标记所致见图1许多做过网页或在论坛中发过帖子的朋友都有用shiftenter换行的习惯产生的这个标记往往不会被人们所注意但它在这里会使第一个连接字符串产生语法错误从而使数据库的连接关系发生改变。
正确的方法应该是在第一个字符串尾直接打回车即enter键创建下一行然后再粘贴第二个连接字符串
上一篇:
《ASP动态网页制作》request对象的form方法和querystring方法ya
下一篇:
计算机网络系统的安全集成