17
2017
09

asp在iis中设置与.net一起运行、读取数据库操作回顾

目前工作中开发都是使用asp.net,很少使用asp,观念上认为asp.net比asp要高级,实际是也是如此,但asp也并非没有使用场景。比如asp不需要编译,这个特性目前对于我们来说就非常有吸引力了,并且在一个asp.net网站中,asp可以同时存在并正常运行,可以做为一些辅助工具使用。


下面来看下iis中原本运行asp.net网站的,要全面支持asp要做哪些重要的设置。

1、允许asp找到父级目录:


2、设置对应的程序池,允许asp运行调用一些32位的组件,比如ado等

这样就能全面支持asp了。


下面来个asp读取access数据库的例子,其实也可以读取MSSQL,配置不同一连接串就行了。

MyFunctions.asp

<%
    '定义全局变量
    Dim objConn
    Dim BlogPath
    BlogPath = GetReallyDirectory()
    dim ZC_DATABASE_PATH
    ZC_DATABASE_PATH="#%2test0b59bdc280f108920a7c012334.mdb"
    dim ZC_MSSQL_ENABLE
    ZC_MSSQL_ENABLE=false
    dim ZC_DATABASE_PWDSTR
    ZC_DATABASE_PWDSTR=";Persist Security Info=False;Jet OLEDB:Database Password=$%*#12345test"  '如果没设置密码,变量设置为空字符串即可
    dim PublicObjFSO
'*********************************************************
' 目的:    得到实际上的BLOG的真实物理目录
'*********************************************************
Function GetReallyDirectory()
'If CurrentReallyDirectory<>"" Then
'GetReallyDirectory=CurrentReallyDirectory
'Exit Function
'End If
If Not IsObject(PublicObjFSO) Then Set PublicObjFSO=Server.CreateObject("Scripting.FileSystemObject")
Dim p
p=Server.MapPath(".") & "\"
GetReallyDirectory=PublicObjFSO.GetFolder(p).Path & "\"   '函数名赋值,意思是返回值
'Err.Clear
End Function
'*********************************************************
' 目的:    数据库连接
'*********************************************************
Dim IsDBConnect '数据库是否已连接
IsDBConnect=False
Function OpenConnect()
'On Error Resume Next
If IsDBConnect=True Then
OpenConnect=True
Exit Function
End If
'plugin node
'判定是否为子目录调用
Dim strDbPath
strDbPath= BlogPath & ZC_DATABASE_PATH
    'Response.Write(ZC_DATABASE_PWDSTR & "<br/>")
    'Response.Write(ZC_DATABASE_PATH & "<br/>")
    'Response.Write(strDbPath & "<br/>")
Set objConn = Server.CreateObject("ADODB.Connection")
'If ZC_MSSQL_ENABLE=True Then
'objConn.Open "Provider=SqlOLEDB;Data Source="&ZC_MSSQL_SERVER&";Initial Catalog="&ZC_MSSQL_DATABASE&";Persist Security Info=True;User ID="&ZC_MSSQL_USERNAME&";Password="&ZC_MSSQL_PASSWORD&";"
'ZC_SQL_POUND_KEY="'"
'Else
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDbPath & ZC_DATABASE_PWDSTR
'End If
If Err.Number=0 Then
IsDBConnect=True
OpenConnect=True
Else
Err.Clear
Err.Raise 1
End If
End Function
'*********************************************************
'*********************************************************
' 目的:    DB Disable Connect
'*********************************************************
Function CloseConnect()
If IsDBConnect=False Then
Exit Function
End If
objConn.Close
Set objConn=Nothing
IsDBConnect=False
CloseConnect=True
End Function
'*********************************************************
%>


default.asp

<% Option Explicit %>
<% Response.Charset="UTF-8" %>
<% Response.Buffer=True %>
<!-- #include file="MyFunctions.asp" -->
<%
    Response.Write("myaspweb<br/>")
    Response.Write("current dir : " & GetReallyDirectory() & "<br/>")
     dim openret
    openret = OpenConnect()
     Response.Write("openret : " & openret & "<br/>")
    dim objRS
    dim aryAllData,l,i
Set objRS=objConn.Execute("SELECT [mem_ID],[mem_Name],[mem_Level],[mem_Password],[mem_Email],[mem_HomePage],[mem_PostLogs],[mem_Url],[mem_Template],[mem_FullUrl],[mem_Intro],[mem_Meta] FROM [blog_Member] ORDER BY [mem_ID] ASC")
If (Not objRS.bof) And (Not objRS.eof) Then
aryAllData=objRS.GetRows(objRS.RecordCount)
objRS.Close
Set objRS=Nothing
'k=UBound(aryAllData,1) '字段数最大索引
 l=UBound(aryAllData,2)  '记录数最大索引
    'Response.Write("k : " & k & "<br/>")
    Response.Write("l : " & l & "<br/>")   '& " "
For i=0 To l
    Response.Write(aryAllData(0,i)& " "&aryAllData(1,i)& " "&aryAllData(2,i)& " "&aryAllData(3,i)& " "&aryAllData(4,i)& " "&aryAllData(5,i)& " "&aryAllData(6,i)& " "&aryAllData(7,i)& " "&aryAllData(8,i)& " "&aryAllData(9,i)&aryAllData(10,i)& " "&aryAllData(11,i) & "<br/>")
Next
End If
    CloseConnect()
%>



运行效果:



版权声明:
作者:真爱无限 出处:http://www.pukuimin.top 本文为博主原创文章版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接.
« 上一篇下一篇 »

相关文章:

评论列表:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。