易动轩

Good Luck To You!

(ASP)利用VB封装ADODB.Connection保护数据库连接信息

1、创建ActiveX Dll

2、更改工程名和类名分别为DbActiveX和GetConn3、VB中要进行工程->引用其实主要是引用Active Server Pages Object Library及Microsoft ActiveX Data Object 2.8 Library4、输入GetConn类的代码Option Explicit

 

3、VB中要进行工程->引用
其实主要是引用Active Server Pages Object Library及Microsoft ActiveX Data Object 2.8 Library
4、输入GetConn类的代码

Public Function GetConn() As ADODB.Connection

  Dim Conn As New ADODB.Connection

  Dim strConnect As String

  Dim strPwd As String

  Dim strUser As String

  Dim strDb As String

  Dim strIp As String

  '-------------------------------------
  '这里请换成你的MSSQL数据库连接字串内容
  '-------------------------------------
  strIp = "你的主机地址"

  strDb = "你的数据库名"

  strUser = "用户名"

  strPwd = "密码"
  '--------------------------------------

 

  strConnect = "Provider=SQLOLEDB.1;" & _

    "Password=" & strPwd & ";" & _

    "Persist Security Info=True;" & _

    "User ID=" & strUser & ";" & _

    "Initial Catalog=" & strDb & ";" & _

    "Data Source=" & strIp

 

  On Error Resume Next

  Set GetConn = Nothing

  With Conn

    .ConnectionString = strConnect

    .CursorLocation = adUseClient

    .Open

  End With

  If Err.Number <> 0 Then

    Set Conn = Nothing

  Else

    Set GetConn = Conn

    Set Conn = Nothing

  End If

   

End Function


 
5、编译生成DbActiveX.Dll

 



6、将DbActiveX.Dll复制至ASP所在的服务器上,目录可随便放,并进行注册
regsvr32 DbActiveX.dll
调试阶段,可以取消注册: regsvr32 /u DbActive.Dll
 
7、重启IIS
 
8、编写ASP测试页面test.asp
 
<!--TEST.ASP-->
<html>
<title>测试页面</title
<body>
<table border="1" cellspacing="0">

<%

 on Error Resume Next

 set conn=server.CreateObject("DbActiveX.GetConn")

 if Err.Number<>0 then

  response.write "Err on ActiveX Dll Refrence"

  response.End()

 end if

 set cn=conn.GetConn()

 set conn=nothing

 if Err.Number<>0 then

  response.write "Err of Transimit to asp conn"

  response.End()

 end if

 set rs=server.createobject("ADODB.Recordset")

 strSql="Select * From TblUser"

 rs.open strSql,cn

 if err.Number<>0 then

  set rs=nothing

  set conn=nothing

  response.write "Err in Recordset Init!"

  response.end()

 end if

 do while not rs.eof

  response.write "<tr>" & vbcrlf

  for i=0 to rs.fields.count-1

 %>

  <td><%=rs(i)%></td>

<%

  Next

  response.write "</tr>" & vbcrlf

  rs.movenext

 loop

 set conn=nothing

%>

</body>
</html>

 
在浏览器地址栏中输入:
http://你的IIS所在IP地址/test.asp
 
结果如下:

测试成功!


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/dgmichaelz/archive/2007/06/10/1646930.aspx

  • 评论列表:
  •  游客
     发布于 2010-05-26 23:35:47  回复该评论
  • 这种安全么,呵呵,不安全,具体怎么,多看下ADO的帮助文件吧

发表评论:

Powered By Z-BlogPHP 1.5.1 Zero

Copyright www.86lg.com Rights Reserved.