Access數(shù)據(jù)庫安全策略之ASP式_Access數(shù)據(jù)庫教程
推薦:第N次被ACCESS的關(guān)鍵字涮由于需要測試數(shù)據(jù)庫的連通性,測試項目使用了方便的ACCESS來作為后臺數(shù)據(jù)庫,但由于它太方便了,以致于半天的時間都葬送在了它隱藏的關(guān)鍵字上... 項目使用了NHibernate來作為數(shù)據(jù)庫中間層,并使用NUnit進行單元測試�?僧斘遗渲煤盟心P皖惣芭渲梦募�,測試環(huán)境竟
這種作法是比較專業(yè)但也是很安全的也是現(xiàn)在比較流行的作法,但是現(xiàn)在許多的人只是作了一半,只是將數(shù)據(jù)名改成ASP而以,這樣的話直接用FlashGet之類的下載工具一樣可以將數(shù)據(jù)庫下載,這種方式的正確作法有兩步:
第一步:在數(shù)據(jù)庫內(nèi)創(chuàng)建一個字段,名稱隨意,類型是OLE對象,內(nèi)容設(shè)置為單字節(jié)型的" "<%",即(ASP代碼chrB(asc("<")) & chrB(asc("%"))的運行結(jié)果)
第二步:將數(shù)據(jù)庫改名為ASP
這樣從URL上直接請求這個數(shù)據(jù)庫將會提示"缺少關(guān)閉腳本分隔符",從而拒絕下載,因為這個方式比較麻煩我在網(wǎng)上找了一段小代碼來完成OLE對象的插入工作,只要將數(shù)據(jù)庫名設(shè)置好,然后放在和數(shù)據(jù)庫內(nèi)一目錄運行一下就可以了�!�
代碼全文如下:
<%
db="d.mdb" '這里改成您的數(shù)據(jù)庫地址
set conn=server.createobject("Adodb.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(db)
conn.open connstr
conn.execute("create table notdownload(notdown oleobject)")
set rs=server.createobject("adodb.recordset")
sql="select * from notdownload"
rs.open sql,conn,1,3
rs.addnew
rs("notdown").appendchunk(chrB(asc("<")) & chrB(asc("%")))
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
這段代碼運行完之后將會在數(shù)據(jù)庫內(nèi)生成一個nodownload表,表內(nèi)字段是notdown。如果數(shù)據(jù)庫內(nèi)已有同名的數(shù)據(jù)表存在請將代碼內(nèi)的nodownload改成自己想要的數(shù)據(jù)表名即可。
分享:Access中用Jet SQL語句刪除表關(guān)系如何用jetsql的ddl語句建立表和關(guān)系? 微軟的Access中包含DataDefinitionLanguage(DDL)來建立刪除表以及關(guān)系,當然了,這也可以用DAO來解決。 以下就是示例: 用DDL的CreateTable建立一個表Table1,主鍵是自動編號字段,另一個字段是長度是10的文本字段。 CREATETABLETa
- 第N次被ACCESS的關(guān)鍵字涮
- Access中用Jet SQL語句刪除表關(guān)系
- Access報表打印如何自動分頁
- Access完成累計余額的計算
- 搭建Access為主的Mdb數(shù)據(jù)庫
- 一句sql更新兩個表并可更新對應(yīng)的字段值具體實現(xiàn)
- MySQL查詢優(yōu)化:連接查詢排序limit(join、order by、limit語句)介紹
- 內(nèi)網(wǎng)ssh/mysql登錄緩慢的解決方法
- 使用準則進行條件查詢--1.4.從窗體中選擇查詢的條件
- 中文Access2000速成教程--1.1 使用“向?qū)А痹O(shè)計數(shù)據(jù)庫
- 中文Access2000速成教程--1.3 在“設(shè)計”視圖中設(shè)計表
- 中文Access2000速成教程--1.4 使用“表向?qū)А苯⑿卤?/a>
- 相關(guān)鏈接:
- 教程說明:
Access數(shù)據(jù)庫教程-Access數(shù)據(jù)庫安全策略之ASP式
。