⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 22-2.cfm.htm

📁 最全的ASP教程
💻 HTM
字号:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<META NAME="Generator" CONTENT="Microsoft Word 97">
<TITLE>使用Activex数据对象</TITLE>
</HEAD>
<BODY>

<B><FONT FACE="宋体" LANG="ZH-CN" SIZE=5><P ALIGN="JUSTIFY">使用Activex数据对象</P>
</B></FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">这一节将一步一步地引导你在你的ASP网页中使用ADO。首先你将学习如何配置你的服务器以使用ADO。接着,在下一节提供了一个简单的例子,演示如何使用ADO对数据库进行读写操作。最后,考虑到你会遇到一些问题,有一节内容讲述ADO的调试。</P>
<P ALIGN="JUSTIFY"> </P>
</FONT><B><FONT FACE="宋体" LANG="ZH-CN"><P ALIGN="JUSTIFY">配置服务器以使用Activex数据对象</P>
</B></FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">本书假定你是在Microsoft SQL Sever中使用ADO。在继续下面的内容之前,Microsoft SQL Sever必须与你的Web服务器安装在同一台机器上,或者两台机器在同一个网络中。要了解安装和配置Microsoft SQL Sever的详细内容,请参阅第三章“安装和使用SQL Sever”。</P>
<P ALIGN="JUSTIFY">在能够使用ADO之前,你必须先建立一个数据源。数据源包含了如何与一个数据提供者进行连接的信息。在这种情况下,你将使用数据源与Microsoft SQL Sever建立连接。数据源共有三种类型:你可以建立用户数据源,系统数据源,或者文件数据源。当你要建立一个与Web服务器一起使用的数据源时,你应该建立一个文件数据源。建立文件数据源的好处是连接信息存储在一个实际的文件中。不止一个用户可以访问这个文件。而且,如果你需要把Web应用程序从一种Web服务器移植到另一种Web服务器上,你只需要移植这个文件即可。</P>
<P ALIGN="JUSTIFY"> </P>
<B><P ALIGN="JUSTIFY">注意</P>
</B><P ALIGN="JUSTIFY">在建立一个数据源之前,应确保SQL Sever正在运行。通过MS SQL Sever程序组中的SQL服务管理器可以确定SQL服务是否在运行。</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">按如下步骤可以建立一个新的文件数据源:</P>
<OL>

<P ALIGN="JUSTIFY"><LI>打开WINDOWS NT SEVER的控制面板(选择Start|Setting|Control Panel)。</LI></P>
<P ALIGN="JUSTIFY"><LI>单击ODBC的图标。</LI></P>
<P ALIGN="JUSTIFY"><LI>单击标签File DSN。</LI></P>
<P ALIGN="JUSTIFY"><LI>单击按钮Add,出现Create New Data Source对话框。</LI></P>
<P ALIGN="JUSTIFY"><LI>在对话框中,选择SQL Sever驱动程序并单击按钮Next,出现Create a New Data Source对话框。</LI></P>
<P ALIGN="JUSTIFY"><LI>输入你所建的数据源的名字。例如,输入mydata.dsn。单击Next,再单击Finish,则wizard程序Create a New Data Source to SQL Sever会被启动(见图22.1)。</LI></P>
<P ALIGN="JUSTIFY"><LI>在文本框Description中,输入一个描述,如My Data Source。在文本框Sever中,输入安装了SQL Sever的服务器的名字。(如果SQL Sever与Web服务器安装在同一台机器上,你可以输入Local)单击Next。</LI></P>
<P ALIGN="JUSTIFY"><LI>一系列对话框出现,要求你定制数据源的各种属性。你要指定一个缺省数据库。选择你的表所在的数据库作为缺省数据库。让其它的选项保持其缺省值,单击Next,关闭所有的对话框。</LI></P>
<P ALIGN="JUSTIFY"><LI><IMG SRC="Image117.gif" tppabs="http://210.74.168.175/guide/asp/part22/Image117.gif" WIDTH=543 HEIGHT=304>最后,给你一个测试新数据源的机会。如果测试成功了,单击OK,添加这个新数据源。</LI></P></OL>

<P ALIGN="JUSTIFY"> </P><DIR>

<B><P ALIGN="JUSTIFY">             图22.1  用SQL Server Wizard创建一个新数据源</P></DIR>

</B><P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">    你已经建立了一个名为mydata.dsn的新数据源。你可以使用这个数据源连接到Microsoft SQL Sever.(下一节将介绍如何进行连接)</P>
<P ALIGN="JUSTIFY"> </P>
</FONT><B><FONT FACE="宋体" LANG="ZH-CN"><P ALIGN="JUSTIFY">使用Activex数据对象对数据库进行读写</P>
</B></FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">这一节给出了一个如何使用ADO对Microsoft SQL Sever数据库进行读写操作的例子。举这个例子有两个目的:它演示了从ASP网页中访问Microsoft SQL Sever的基本方法,而且你可以用这个例子检测服务器的配置是否正确。</P>
<P ALIGN="JUSTIFY">表22.1所示的网页把文本“Hello World!”插入一个表中,然后,从表中取出这个文本并显示在浏览器中。</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">表22.1      Hello World!</P>
<P ALIGN="JUSTIFY">&lt;HTML&gt;&lt;HEAD&gt;&lt;TITLE&gt; ADO Example &lt;/TITLE&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;%Set MyConn=Server.CreateObject("ADODB.Connection")MyConn.Open "FILEDSN=d:\Program Files\Common Files\ODBC\Data Sources\MyData.dsn"MyConn.Execute "INSERT MyTable (MyColumn) VALUES ('Hello World!')"Set RS=MyConn.Execute("SELECT * FROM MyTable")Response.Write(RS("MyColumn"))MyConn.Close%&gt;&lt;/BODY&gt;&lt;/HTML&gt;</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">在使用这个例子之前,你需要建立一个名为Mytable的表。你可以使用ISQL/w来创建它。启动这个程序,选择你的缺省数据库,然后执行如下的SQL 语句:</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">CREATE TABLE mytable (mycolumn VARCHAR(255))</P>
<P ALIGN="JUSTIFY"> </P>
<B><P ALIGN="JUSTIFY">注意</P>
</B><P ALIGN="JUSTIFY">要了解建立表的更多信息,请参见第10章“SQL基础”。</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">这个网页的第一行创建了连接对象的一个实例。接下来调用连接对象的open方法,打开了一个对数据库的连接。在open方法中用到了你在上一节所建立的数据源,以建立对数据库的连接。(用你的计算机中的实际路径代替这个脚本中文件数据源的路径。)</P>
<P ALIGN="JUSTIFY">一旦打开了一个连接,你就可以用这个连接执行SQL语句。在这个例子中,用Execute方法执行了两个SQL语句。首先,用SQL INSERT语句把字符串“Hello World!”输入到了数据库中。然后用SQL SELECT语句从表中取出了这个字符串。</P>
<P ALIGN="JUSTIFY">如果你的系统配置正确,字符串“Hello World!”将会显示在浏览器窗口中。该字符串先被插入数据库,又被取出并显示。如果有什么不正常,请参看下一节。</P>
<P ALIGN="JUSTIFY"> </P>
</FONT><B><FONT FACE="宋体" LANG="ZH-CN"><P ALIGN="JUSTIFY">调试Activex数据对象</P>
</B></FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">如果你用ADO访问Microsoft SQL Sever时出现问题,这一节将对你有所帮助。许多原因会导致上一节中所示的ASP网页执行失败。下面列出了你通常会遇到的一些问题的症状以及可能的原因:</P>
<P ALIGN="JUSTIFY"> </P>

<UL>
<B><P ALIGN="JUSTIFY"><LI>症状</B>:出现错误信息 Unable to create file buffer.</LI></P></UL>
<DIR>
<DIR>

<B><P ALIGN="JUSTIFY">原因</B>:文件数据源不正确。如果文件数据源的路径或名字有误,或者该数据源不存在,你就会收到这个错误信息。你应确保网页中open方法所使用的文件数据源的路径与你计算机中的实际路径相同。</P>
<P ALIGN="JUSTIFY"> </P></DIR>
</DIR>


<UL>
<B><P ALIGN="JUSTIFY"><LI>症状</B>:出现错误信息 Invalid object name </FONT><FONT FACE="Playbill,Courier New" SIZE=3>‘</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>mytablw</FONT><FONT FACE="Playbill,Courier New" SIZE=3>’</LI></P></UL>
<DIR>
<DIR>

</FONT><B><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">原因1</B>:数据库中不存在表</FONT><FONT FACE="Playbill,Courier New" SIZE=3>’</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>mytable</FONT><FONT FACE="Playbill,Courier New" SIZE=3>’</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>。按照上一节中所讲的方法用ISQL/w创建这个表。</P>
<B><P ALIGN="JUSTIFY">原因2</B>:表mytable不在缺省数据库中。你需要指定一个缺省数据库。选择Start|Settings|Control Panel。单击ODBC图标,然后单击File DSN标签。选择你的文件数据源的名字,单击Configure,再单击Options。在对话框中指定你的确省数据库的名字。</P>
<P ALIGN="JUSTIFY"> </P></DIR>
</DIR>


<UL>
<B><P ALIGN="JUSTIFY"><LI>症状</B>:出现错误信息 The sever appears to be not available</LI></P></UL>
<DIR>
<DIR>

<B><P ALIGN="JUSTIFY">原因</B>:SQL Sever没有运行。从Microsoft SQL Sever程序组中选择SQL Sevice Manager。选择MSSQLSEVER并单击绿灯。</P>
<P ALIGN="JUSTIFY"> </P></DIR>
</DIR>


<UL>
<B><P ALIGN="JUSTIFY"><LI>症状</B>:出现错误信息 Login failed。</LI></P></UL>
<DIR>
<DIR>

<B><P ALIGN="JUSTIFY">原因</B>:你没有使用WINDOWS NT确认模式。建立数据源时输入了错误的帐号和口令。选择Start|Settings|Control Panel。单击ODBC图标,然后单击File DSN标签。选择你的文件数据源的名字并单击Configure。你可以选择Use Trusted Connection,或输入合法的帐号和口令。</P>
<P ALIGN="JUSTIFY"> </P></DIR>
</DIR>


<UL>
<B><P ALIGN="JUSTIFY"><LI>症状</B>:出现错误信息 INSERT permission denied on object mytable 或</LI></P></UL>
<DIR>

<P ALIGN="JUSTIFY">                     SELECT permission denied on objict mytable。</P><DIR>

<B><P ALIGN="JUSTIFY">原因</B>:建立数据源时指定的帐号没有访问表mytable的足够的权限。你需要改变文件数      据源的注册帐号,或者给该用户或用户组提供更多的权限。</P>
<P ALIGN="JUSTIFY"> </P></DIR>
</DIR>

<P ALIGN="JUSTIFY">    要提供对一个表的更多权限,从Microsoft SQL Sever程序组中启动SQL事务管理器,找到表mytable并用右键点击它。选择Permissions。现在你可以为不同的用户或用户组设置对这个表的操作权限。</P></FONT></BODY>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -