网络编程
位置:首页>> 网络编程>> Asp编程>> asp连接各种数据库代码(2)

asp连接各种数据库代码(2)

作者:海啸 来源:海啸博客 发布时间:2008-03-11 11:16:00 

标签:数据库,ado,OLEDB,asp

然后我们再看看调用这个DSN的ASP代码:

oConn.Open "dsn=FcNews;"

DSN-less连接方法:

set adocon=Server.Createobject("adodb.connection")
adoconn.Open"Driver={Microsoft Access Driver(*.mdb)};DBQ="& _
Server.MapPath("数据库所在路径")

说明:其实SQL数据库也可以建立DSN,方法同ACCESS数据库很类似,这里就不重复说明。如果条件允许,推荐大家用DSN连接数据库,因为这里(oConn.Open "dsn=FcNews;"隐藏了书库的地址等信息,即使你的ASP源代码泄露,一般人们很难猜出你的服务器上数据库的路径。不过由于一般大家是使用的虚拟主机,所以一般才用了DSN-LESS方法。还有下面介绍的方法,连接数据库)

下面我又给出了我们常用的OLEDB的连接代码

'oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("" & AccDBPath & "")
SQL数据库的OLE DB连接代码
oConn.Open "Provider=SQLOLEDB.1;Server=127.0.0.1;UID=sa;PWD=mydotcom;Database=" & SQLDBName & ""

最后在这里我给一个简单的连接数据库的函数

<%
' ============================================
' 以下为数据库相关函数
' ============================================
' 初始化数据库连接对象
' 使用原则:最迟调用,最早释放
' ============================================
Dim oConn, ors, sSql
Dim Rs, Sql
'=============================================
' 函数功能:建立数据库的连接
' 函数名称:oDBConnBegin(DBType)
' 参数说明:DBType -- 数据库的类型
'                ConType -- 连接类型(DSN或者OLE DB)
'                DBName -- 数据库名称(数据源名称)
'=============================================
Sub oDBConnBegin(DBType,ConType,DBName)
    ' 如果数据库对象已打开,不要再打开
    If IsObject(oConn) = True Then Exit Sub
    ' 你可以不需要打开数据库连接对象而直接打开记录集对象,但如果你需要打开多个记录集对象的话,效率是很低的。
    ' 如果你不创建一个数据库连接对象,ADO会在每个记录集打开时自动创建一个新的数据库连接对象,就算你用的是相同的SQL语句。
    Set oConn = Server.CreateObject("ADODB.Connection")
    
  On Error Resume Next
    
  ' 选择不同的数据库连接类型
  Select Case DBType
          Case "Acc"
             If ConType = "DSN" Then
                oConn.Open = "dsn=" & DBName
             ElseIf ConType = "OLEDB" Then
                oConn.Open = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("" & DBName & "")
             End If            
          Case "SQL"
             If ConType = "DSN" Then
                oConn.Open = "dsn=" & DBName
             ElseIf ConType = "OLEDB" Then
                oConn.Open "Provider=SQLOLEDB.1;Server=127.0.0.1;UID=sa;PWD=007007;Database=" & DBName & ""
             End If
  End Select
    
    If Err.Number > 0 Then
        ' 显示错误信息,并且发送邮件通知管理员
        Call DBConnError(Err)
        ' 完全地退出正在运行的脚本
        Response.End()
    End If
  Set ors = Server.CreateObject( "ADODB.Recordset" ) 
End Sub       
'=============================================
' 函数功能:释放数据库连接对象
' 函数名称:oDBConnEnd()
'=============================================
Sub oDBConnEnd()
    On Error Resume Next
    ors.Close
    Set ors = Nothing
    oConn.Close
    Set oConn = Nothing
End Sub
'=============================================
' 函数功能:数据库连接错误处理
' 函数名称:DBConnError(ErrInfo)
' 参数说明:ErrInof--系统提示的错误信息
'=============================================
Sub DBConnError(ErrInfo)
    Response.write("数据库连接错误:" & ErrInfo & "<br>")
    Response.write("请发送邮件通知<a href='mailto:" & strAdminEmail & "'>网站管理员</a>!")
    Response.End()
End Sub
%>

怎么样,现在你对数据库的连接是否有了一些了解呢?当然,由于水平有限,如果有什么说的不对的地方还望大家原谅和指教。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com