人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

如何不用數據源打開數據庫

如何不用數據源打開數據庫

更新時間:2022-07-10 文章作者:未知 信息來源:網絡 閱讀次數:

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


每一個需要聯結數據庫的程序,首先必須在服務器上打開它。這里有許多的辦法!

使用系統數據源(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=" "
end if%>
<td valign=top><%=thisvalue%></td>
<% next %>
</tr>
<%rstemp.movenext
loop%>

<%
rstemp.close
set rstemp=nothing
conntemp.close
set conntemp=nothing
end sub%>
大家看明白了嗎?嘿嘿,不清楚,那就在到論壇中問問各位大蝦吧!

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 南汇区| 湘西| 潞西市| 桃园市| 库伦旗| 郑州市| 方山县| 鹿泉市| 镇沅| 特克斯县| 保亭| 陆河县| 北票市| 鹤壁市| 顺平县| 安仁县| 额济纳旗| 遵义县| 漳平市| 赫章县| 沈阳市| 霸州市| 额济纳旗| 河曲县| 无锡市| 通化县| 简阳市| 秀山| 宣汉县| 共和县| 泽库县| 沐川县| 石渠县| 恩施市| 大冶市| 保靖县| 阿勒泰市| 青岛市| 金湖县| 泽普县| 昭平县|