国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

不用數(shù)據(jù)源打開數(shù)據(jù)庫(DSNless connection)

2019-11-18 22:39:59
字體:
供稿:網(wǎng)友
  每一個需要聯(lián)結(jié)數(shù)據(jù)庫的程序,首先必須在服務(wù)器上打開它。這里有許多的辦法!

  使用系統(tǒng)數(shù)據(jù)源(DSN)
這個就必須在服務(wù)器上設(shè)置。這是數(shù)據(jù)訪問最好最快的方法。因為它只需在服務(wù)器上認證一下就行了,不需要聯(lián)結(jié)。

  使用文件數(shù)據(jù)源
這不是一個值得推薦的方法。因為這樣的話,所有的用戶都被限制了!根本不適用于網(wǎng)絡(luò)。

  不需要DSN的聯(lián)結(jié)
這種方法就不需要在服務(wù)器設(shè)置任何的東東,只要這個數(shù)據(jù)庫存在就行!當(dāng)然你也得有訪問密碼。
這是一個沒有辦法的辦法,因為在服務(wù)器上沒有DSN設(shè)置,而且速度也沒有設(shè)置DSN快,因為每次都必須和服務(wù)器聯(lián)結(jié)一次

  微軟有關(guān)于這方面的文章在
http://support.microsoft.com/support/kb/articles/q193/3/32.asp
在這里所有的DSNless聯(lián)結(jié)代碼。我們在這里只說一小部分,如果覺得我們說的不清楚就到那兒去看英文版吧!
哈哈。

  DSNless聯(lián)結(jié)需你知道數(shù)據(jù)庫文件的名字(I.e. File based databases like access, Paradox, FoxPRo, etc.)或者數(shù)據(jù)庫的服務(wù)器地址(SQL Server就是這樣的)。還必須有打開這個數(shù)據(jù)庫的權(quán)限,比如密碼和用戶名。有了這些你就可以打開這個數(shù)據(jù)庫了!嘿嘿!

  不過你要注意,如果你是用的Access數(shù)據(jù)庫你就必須知道它的絕對路徑,就像"C:/thatserver/account17/nwind.mdb"一樣。不過Sever.MapPath方法能夠?qū)⑾鄬β窂睫D(zhuǎn)為絕對路徑。我們就不用擔(dān)心了!

  下面是一個例子例用了DSNless,用它來訪問名叫nwind.mdb的Access的數(shù)據(jù)庫。文件名為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數(shù)據(jù)庫的方法。



<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是以下的內(nèi)容:


<%
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中華網(wǎng)如要轉(zhuǎn)載請注明出處,謝謝
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 泊头市| 大城县| 东平县| 仪陇县| 丹江口市| 高淳县| 丰城市| 房产| 齐齐哈尔市| 专栏| 宝坻区| 扎赉特旗| 交城县| 富平县| 东平县| 卓资县| 山阴县| 轮台县| 吉首市| 南城县| 伽师县| 灌云县| 财经| 邵阳市| 拉萨市| 特克斯县| 玉田县| 四子王旗| 乌鲁木齐县| 汤阴县| 专栏| 海安县| 开原市| 栖霞市| 宁武县| 舒兰市| 三穗县| 大余县| 邮箱| 扬州市| 永平县|