精品久久看,欧美成人久久一级c片免费,日本加勒比在线精品视频,国产一区二区三区免费大片天美,国产成人精品999在线,97理论三级九七午夜在线观看

當前位置:首頁文章首頁 IT學院 IT技術

關于asp中connection對象封裝dll方法分享

作者:  來源:  發布時間:2011-7-8 16:03:05  點擊:

這篇文章將跟大家分享到關于asp中connection對象封裝dll解決方案,希望能給大家帶來幫助或啟發。

asp代碼保密一直是令人頭痛的問題,目前沒有非常好的解決方案,無非用vb編譯成dll,但工作量實在太大,于是一直苦苦尋求著另一種途徑。。。

  中午,突然靈感一發,“為什么不嘗試用加密數據庫?”,通過對數據庫設一個高強度的密碼,然后用vb封裝connection對像,將密碼信息寫在dll里,然后通過asp創建組件方式調用,就算人家拿了我的代碼,也無法改動數據庫!

  于是,開始了一步步既痛苦又刺激的旅程。vb三四年前用過,而且菜得不再菜,為了找思路,就上網搜,百度有時候也挺害人的,搜了一大堆誤人子弟的東東出來,特別是那個vb程序里只放一個連接字符串,然后用asp創建組件,取出字串,然后連接的思路,沒任何意思,一句respose.write 連接字串就出來。

  達到加密數據庫的目的,鏈接字串絕對是不能顯示的,所以我參考了龍卷風寫的"使用組件封裝數據庫操作(二)"中的方法,設定一個conn的全局變量,然后打開數據庫的函數返回的只有true跟false。更重要的一點就是封裝rs的execute方法,將其寫到dll里,具體操作如下:

  1.打開vb,創建一個activex dll工程,工程名稱叫myconn,類模塊是dbconn,然后寫入以下代碼:

Option Explicit
Dim rp As Response
Dim rq As Request
Dim ap As Application
Dim sr As Server
Dim sn As Session
Dim Conn As ADODB.Connection ''創建conn全局變量
Dim RS As ADODB.Recordset '' 創建全避變量rs

Public Sub OnStartPage(MyScriptingContext As ScriptingContext)
Set rp = MyScriptingContext.Response
Set rq = MyScriptingContext.Request
Set sr = MyScriptingContext.Server
Set ap = MyScriptingContext.Application
Set sn = MyScriptingContext.Session

End Sub

Public Sub OnEndPage()
Set rp = Nothing
Set rq = Nothing
Set sr = Nothing
Set ap = Nothing
Set sn = Nothing
End Sub

Public Function openConn()
Dim str As String
Set Conn = sr.CreateObject("ADODB.Connection")

str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sr.MapPath("/mssdatabase/dbtest.mdb") &";data password=123456789"
Conn.Open str
If Err.Number <> 0 Then ''就是在社里返回喔

openConn = False

Else

openConn = True

End If
End Function

Public Function execute(sql) As ADODB.Recordset ''創建一個execute的方法,返回為recordset對像
Set RS = New ADODB.Recordset
RS.CursorLocation = adUseClient

Call openConn ''這句得要加,好像在外部的asp中不能觸發全局conn變量,不知為此??

RS.Open sql, Conn, 3, 3
Set execute = RS
End Function

  編譯該工程時,切記引用(工程>引用)"Microsoft active server pages object library"和"microsoft activexX data object 2.6 library"兩個庫類(感覺像c#的using差不多一樣),然后編譯成dll(文件>生成myconn.dll),一般vb編譯成dll都會在系統中自動注冊,如果是ntsf分區,給該dll加個everyone 可讀,執行權限,然后到asp里調用,實現代碼如下:

<%
dim conn
dim dbLink

dbLink="2"

if dbLink="1" then ''如果代碼在別的機器上運行就使用dll組件鏈接數據庫,否則就使用本地鏈接
Set conn=Server.CreateObject("myconn.dbconn")
conn.openConn
else
set conn=Server.CreateObject("ADODB.CONNECTION")
DBPath = Server.MapPath("/mssdatabase/dbtest.mdb")

conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& DBPath
end if
%>

  由于兩種鏈接方式都只是使用了一個conn對像,所以不用對其他代碼進行大修改,還是比較方便,目前dll中的execute方法對select操作已經測試通過,還有insert、update、delete等方法有待完善。

  附件為myconn工程文件全部代碼:點擊這里下載源文件

相關軟件

相關文章

文章評論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
主站蜘蛛池模板: 久草国产在线视频 | 久久久无码精品亚洲日韩按摩 | 国产精品福利一区二区久久 | 欧美欧洲性色老头老妇 | 亚洲国产精品久久人人爱 | 美女一区二区在线观看 | 国产精品高清全国免费观看 | 奇米第四色在线 | 婷婷色中文网 | 国产一级淫片免费播放 | 色综合久久精品中文字幕 | 2018男人的天堂 | 国产欧美精品 | 免费精品久久久久久中文字幕 | 极品美女一级毛片 | 日韩欧美中文字幕在线视频 | 国产一级理论免费版 | 国产精品视_精品国产免费 国产精品深夜福利免费观看 | 国产亚洲精品国产 | 国产成人综合在线观看 | 福利视频欧美 | 99成人综合久久精品亚洲直播秀 | 日本一区二区三区久久久久 | 久久亚洲精品成人 | 色综合成人丁香 | 久久电影网午夜鲁丝片免费 | 色综合久久中文 | 成人深爱网 | 99视频观看| 精品国产区 | 五月婷婷基地 | 五月天婷婷视频 | 婷婷丁香花 | 草草影院在线观看视频 | 免费视频一区二区 | 欧美超高清在线观看 | 男人的天堂天堂网 | 日本不卡网站 | 综合色影院 | 伊人看片| 国产色婷婷免费视频 |