电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 在线教程-> ASP
不用数据源打开数据库(DSNless connection)
作者:网友供稿 点击:122
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
每一个需要联结数据库的程序,首先必须在服务器上打开它。这里有许多的办法!

使用系统数据源(dsn)
这个就必须在服务器上设置。这是数据访问最好最快的方法。因为它只需在服务器上认证一下就行了,不需要联结。

使用文件数据源
这不是一个值得推荐的方法。因为这样的话,所有的用户都被限制了!根本不适用于网络。

不需要dsn的联结
这种方法就不需要在服务器设置任何的东东,只要这个数据库存在就行!当然你也得有访问密码。
这是一个没有办法的办法,因为在服务器上没有dsn设置,而且速度也没有设置dsn快,因为每次都必须和服务器联结一次

微软有关于这方面的文章在
http://support.microsoft.com/support/kb/articles/q193/3/32.asp
在这里所有的dsnless联结代码。我们在这里只说一小部分,如果觉得我们说的不清楚就到那儿去看英文版吧!
哈哈。

dsnless联结需你知道数据库文件的名字(i.e. file based databases like access, paradox, foxpro, etc.)或者数据库的服务器地址(sql server就是这样的)。还必须有打开这个数据库的权限,比如密码和用户名。有了这些你就可以打开这个数据库了!嘿嘿!

不过你要注意,如果你是用的access数据库你就必须知道它的绝对路径,就像"c:\thatserver\account17\nwind.mdb"一样。不过sever.mappath方法能够将相对路径转为绝对路径。我们就不用担心了!

下面是一个例子例用了dsnless,用它来访问名叫nwind.mdb的access的数据库。文件名为nwind.asp


<html><head>
<title>nwind.asp</title>
<body bgcolor="#ffffff"></head>
<%
accessdb="nwind.mdb"
mydsn="driver={microsoft access driver (*.mdb)};"
mydsn=mydsn & "dbq=" & server.mappath(accessdb)
mysql="select * from customers"

call query2table(mysql,mydsn)
%>
<!--#include virtual="/learn/test/lib_dbtable.asp"-->
</body>
</html>

下面的例子是使用dsn来访问sql server,文件名为sqldsn.asp


<html><head>
<title>sqldsn.asp</title>
<body bgcolor="#ffffff"></head>
<%
accessdb="nwind.mdb"
mydsn="dsn=student;uid=student;pwd=magic"
mysql="select * from publishers where state=ny"

call query2table(mysql,mydsn)
%>
<!--#include virtual="/learn/test/lib_dbtable.asp"-->
</body>
</html>
下面的例子是用dsnless来访问sql server数据库的方法。



<html><head>
<title>sqldsnless.asp</title>
<body bgcolor="#ffffff"></head>
<%

mydb="provider=msdasql;driver={sql server};"
mydb=mydb & "server=sql2.datareturn.com;database=;"
mydb=mydb & "uid=student;pwd=magic;"

mysql="select * from publishers where state=ny"

call query2table(mysql,mydb)
%>
<!--#include virtual="/learn/test/lib_dbtable.asp"-->
</body>
</html>
包含文件lib_dbtable.asp是以下的内容:


<%
sub query2table(inputquery, inputdsn)
dim conntemp, rstemp
set conntemp=server.createobject("adodb.connection")
conntemp.open inputdsn
set rstemp=conntemp.execute(inputquery)
howmanyfields=rstemp.fields.count -1%>
<table border=1><tr>
<% put headings on the table of field names
for i=0 to howmanyfields %>
<td><b><%=rstemp(i).name%></b></td>
<% next %>
</tr>
<% now lets grab all the records
do while not rstemp.eof %>
<tr>
<% for i = 0 to howmanyfields
thisvalue=rstemp(i)
if isnull(thisvalue) then
thisvalue="&nbsp;"
end if%>
<td valign=top><%=thisvalue%></td>
<% next %>
</tr>
<%rstemp.movenext
loop%>
</table>
<%
rstemp.close
set rstemp=nothing
conntemp.close
set conntemp=nothing
end sub%>
大家看明白了吗?嘿嘿,不清楚,那就在到论坛中问问各位大虾吧!

文章来自http://www.aspcn.com asp中华网如要转载请注明出处,谢谢
文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·如何使XP的目录属性出现"安全"选项-ASP教程,系统相关
·创建有个性的对话框之MFC篇(二)-ASP教程,系统相关
·用InstallShield打包ASP程序-ASP教程,ASP应用
·windows server 2003 中 SQL Server 2000 分布式事务 错误解决方法-ASP教程,系统相关
·创建有个性的对话框之MFC篇(一)-ASP教程,系统相关
·DevExpress打印相关代码-ASP教程,打印相关
·File文件控件,选中文件(图片,flash,视频)即立即预览显示-ASP教程,组件开发
·用Windows的文件映射机制,实现大批量数据的快速存储-ASP教程,系统相关
·ADO如何取得数据库中表的字段信息之一
·使用DEVEXPRESS部件打印时标题的处理-ASP教程,打印相关

最新文章
· SQL注入天书 - ASP注入漏洞全接触
·用.net 处理xmlHttp发送异步请求
·asp.net创建文件夹的IO类的问题
·如何实现ASP.NET网站个性化
·关于ASP.NET调用JavaScript的实现
·ASP利用Google实现在线翻译功能
·Asp无组件生成缩略图
·由HTTP 500 Internal server error想到的...
·实例讲解asp抓取网上房产信息
·改mdb为asp所带来的灾难




版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号