不通过数据源完全控制MDB数据库

控制|数据|数据库|数据源

<%

' BEGIN USER CONSTANTS

' To just use a DSN, the format is shown on the next line:

'Const DSN_NAME = "DSN=ASP101email"

' Two other samples I used it with. Left in as syntax examples for DSN-less connections

'Const DSN_NAME = "DBQ=C:\InetPub\wwwroot\asp101\samples\database.mdb;Driver={Microsoft Access Driver (*.mdb)};DriverId=25"

'Const DSN_NAME = "DBQ=C:\InetPub\database\donations.mdb;Driver={Microsoft Access Driver (*.mdb)};DriverId=25"

Dim DSN_NAME

DSN_NAME = "DBQ=" & Server.MapPath("db_dsn.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;"

Const DSN_USER = "username"

Const DSN_PASS = "password"

' Ok, I know these are poorly named constants, so sue me!

' This script can be used without actually setting up a DSN, so

' DSN_NAME as well as the other two constants should really be named

' something more generic like CONNECTION_STRING, CONNECTION_USER, and

' CONNECTION_PASS, but I did it this way without really thinking about

' it and I'm too lazy to change it now. If it bothers you, you do it!

' END USER CONSTANTS

' BEGIN SUBS & FUNCTIONS SECTION

Sub OpenConnection

Set objDC = Server.CreateObject("ADODB.Connection")

objDC.ConnectionTimeout = 15

objDC.CommandTimeout = 30

objDC.Open DSN_NAME, DSN_USER, DSN_PASS

End Sub

Sub OpenRecordset(sType)

Dim sSqlString ' as String - building area for SQL query

Dim sCritOperator ' as String - basically "=" or "LIKE"

Dim sCritDelimiter ' as String - parameter delimiter "", "'", or "#"

Set objRS = Server.CreateObject("ADODB.Recordset")

Select Case sType

Case "ListTables" ' Open RS of the Tables in the DB

Set objRS = objDC.OpenSchema(adSchemaTables)

Case "ViewTable" ' Open the Selected Table

Set objRS = Server.CreateObject("ADODB.Recordset")

objRS.Open "[" & sTableName & "]", objDC, adOpenForwardOnly, adLockReadOnly

Case "DrillDown" ' Open the Recordset built by the selected options

Set objRS = Server.CreateObject("ADODB.Recordset")

' Build Our SQL Statement

sSqlString = "SELECT * FROM [" & sTableName & "]"

' If we're limiting records returned - insert the WHERE Clause into the SQL

If sCritField <> "" Then

' Figure out if we're dealinh with Numeric, Date, or String Values

Select Case iCritDataType

Case adSmallInt, adInteger, adSingle, adDouble, adDecimal, adTinyInt, adUnsignedTinyInt, adUnsignedSmallInt, adUnsignedInt, adBigInt, adUnsignedBigInt, adBinary, adNumeric, adVarBinary, adLongVarBinary, adCurrency, adBoolean

sCritOperator = "="

sCritDelimiter = ""

Case adDate, adDBDate, adDBTime, adDBTimeStamp

sCritOperator = "="

sCritDelimiter = "#"

Case adBSTR, adChar, adWChar, adVarChar, adLongVarChar, adVarWChar, adLongVarWChar

sCritOperator = "LIKE"

sCritDelimiter = "'"

End Select

sSqlString = sSqlString & " WHERE [" & sCritField & "] " & sCritOperator & " " & sCritDelimiter & sCritValue & sCritDelimiter

End If

' If we're sorting - insert the ORDER BY clause

If sSortOrder <> "none" Then

sSqlString = sSqlString & " ORDER BY [" & sSortField & "] " & sSortOrder

End If

sSqlString = sSqlString & ";"

' Open the actual Recordset using a Forward Only Cursor in Read Only Mode

objRS.Open sSqlString, objDC, adOpenForwardOnly, adLockReadOnly

End Select

End Sub

Sub CloseRecordset

objRS.Close

Set objRS = Nothing

End Sub

Sub CloseConnection

objDC.Close

Set objDC = Noth

时间: 2024-10-02 07:03:01

不通过数据源完全控制MDB数据库的相关文章

在Linux中通过Python脚本访问mdb数据库的方法

  这篇文章主要介绍了在Linux中通过Python脚本访问mdb数据库的方法,本文示例基于debian系的Linux系统,需要的朋友可以参考下 在 linux 系统中连接 mdb 数据库,直接连接的话,mdb 默认的驱动无法识别非 windows 的路径, 所以不能使用常规的连接方式 ? 1 DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:dirfile.mdb 安装 这里我们需要借助一些库来实现第三方的驱动 我们需要安装这些包:mdbtools,

九种防MDB数据库被下载的方法小结_ASP基础

1.发挥你的想象力 修改数据库文件名  但是若攻击者通过第三方途径获得了数据库的路径,就可以下载数据库.故保密性为最低.  2.数据库名后缀改为ASA.ASP等 此法须配合一些要进行一些设置,否则就会出现本文开头的那种情况  (1)二进制字段添加. (2)在这个文件中加入<%或%>,IIS就会按ASP语法来解析,然后就会报告500错误,自然不能下载了.可是如果只是简单的在数据库的文本或者备注字段加入<%是没用的,因为ACCESS会对其中的内容进行处理,在数据库里他会以< %的形式存

九种防MDB数据库被下载的方法小结

1.发挥你的想象力 修改数据库文件名  但是若攻击者通过第三方途径获得了数据库的路径,就可以下载数据库.故保密性为最低. 2.数据库名后缀改为ASA.ASP等 此法须配合一些要进行一些设置,否则就会出现本文开头的那种情况  (1)二进制字段添加. (2)在这个文件中加入<%或%>,IIS就会按ASP语法来解析,然后就会报告500错误,自然不能下载了.可是如果只是简单的在数据库的文本或者备注字段加入<%是没用的,因为ACCESS会对其中的内容进行处理,在数据库里他会以< %的形式存在

MDB数据库压缩方法

数据|数据库|压缩   MDB数据库压缩方法 jimzj@21cn.com   虽然说MDB数据库功能不是很强大,但时由于在WIN x系统中已有缺省的驱动程序,所以不用另外像SQL,SYBASE一样安装一个管理驱动,而且携带方便,很多的小应用程序或网站还是采用MDB数据库.经常操作MDB数据时,就会经常碰到要对数据进行压缩,下面的我在网上找到和自己使用的经验写一下关于在各种环境中压缩MDB数据库的方法,提供大家参考:   一.ASP或VB中压缩 以前使用 DAO 时,Microsoft 有提供

搭建Access为主的Mdb数据库

  什么是mdb数据库呢?凡是有点制作网站经验的网络管理员都知道,目前使用"IIS+ASP+ACCESS"这套组合方式建立网站是最流行的,大多数中小型Internet网站都使用该"套餐",但随之而来的安全问题也日益显著.其中最容易被攻击者利用的莫过于mdb数据库被非法下载了. 什么是mdb数据库呢?凡是有点制作网站经验的网络管理员都知道,目前使用"IIS+ASP+ACCESS"这套组合方式建立网站是最流行的,大多数中小型Internet网站都使用

哪位大哥给一段vb.net连接mdb数据库及执行相关查询的代码,本人菜鸟,多谢!

问题描述 哪位大哥给一段vb.net连接mdb数据库及执行相关查询的代码,本人菜鸟,多谢! 解决方案 解决方案二:mycon=NewOleDbConnection("provider=microsoft.jet.oledb.4.0;UserID=Admin;datasource="&Application.StartupPath&"你数据库的名称.mdb")mydap=NewOleDbDataAdapter("select*from表名&q

IIS下防止mdb数据库被下载的实现方法_win服务器

解决access(mdb)数据库防止下载,一般有两种方法: 第一种方法:要求网站管理人员具体asp编程经验.因为现在的销售虚拟主机的系统,已经为用户建立了一个database目录,跟web目录同一个级别,用户访问的是web中的文件,而无法访问database目录的文件.所以大家要把数据库文件放到database目录里面就可以了,但实现起来不会这么容易,需要获取mdb文件的实际目录,主要是连接数据库的地方,需要修改下. 这里给出具体的思路.先获取web根目录中的任意一个文件.例如那么数据库的地址就

《SQL入门经典(第5版)》一一6.3 事务控制与数据库性能

6.3 事务控制与数据库性能 SQL入门经典(第5版)低劣的事务控制会降低数据库性能,甚至导致数据库异常终止.反复出现的数据库性能恶化可能是由于在大量插入.更新或删除中缺少事务控制.大规模批处理还会导致临时存储的回退信息不断膨胀,直到出现COMMIT或ROLLBACK命令. 当出现COMMIT命令时,回退事务信息被写入到目标表里,临时存储区域里的回退信息被清除.当出现ROLLBACK命令时,修改不会作用于数据库,而临时存储区域里的回退信息被清除.如果一直没有出现COMMIT或ROLLBACK命令

如何将access mdb数据库导入到mysql中 .mdb转mysql

如何将access mdb数据库导入到mysql中,有人说用mysql-front但用起来十分难用,还要新建 dsn,dsn这东西有多少年没有人用了, 最简单的方法是使用navicat for mysql ,安装完成后,新建一个数据库,打开数据库后,展开数据库,会发现出现,表,视图,函数,等选项,在表上右击会出现导入向导,然后跟着向导一步步地向下做就可以了