万能数据库连接程序

简介: 连接各种类型数据库 及 对数据库操作的函数

下面这部分程序可说是万能的数据库连接程序几乎可以连接所有的MS数据库,自己拿去研究吧(这个程序是“ASP网页制作教程”这本书里面的——一本好书):
<%
'---------------------------------------------------
Function GetMdbConnection( FileName )
Dim Provider, DBPath

Provider = "Provider=Microsoft.Jet.OLEDB.4.0;"
DBPath = "Data Source=" & Server.MapPath(FileName)
Set GetMdbConnection = GetConnection( Provider & DBPath )
End Function

'---------------------------------------------------
Function GetSecuredMdbConnection( FileName, Password )
Dim Provider, DBPath

Provider = "Provider=Microsoft.Jet.OLEDB.4.0;"
DBPath = "Data Source=" & Server.MapPath(FileName)
Set GetSecuredMdbConnection = GetConnection( Provider & DBPath & ";Jet OLEDB:Database Password=" & Password ) End Function

'---------------------------------------------------
Function GetDbcConnection( FileName )
Dim Driver, SourceType, DBPath

Driver = "Driver={Microsoft Visual FoxPro Driver};"
SourceType = "SourceType=DBC;"
DBPath = "SourceDB=" & Server.MapPath( FileName )
Set GetDbcConnection = GetConnection( Driver & SourceType & DBPath )
End Function

'---------------------------------------------------
Function GetDbfConnection( Directory )
Dim Driver, SourceType, DBPath

Driver = "Driver={Microsoft Visual FoxPro Driver};"
SourceType = "SourceType=DBF;"
DBPath = "SourceDB=" & Server.MapPath( Directory )
Set GetDbfConnection = GetConnection( Driver & SourceType & DBPath )
End Function

'---------------------------------------------------
Function GetExcelConnection( FileName )
Dim Driver, DBPath

Driver = "Driver={Microsoft Excel Driver (*.xls)};"
DBPath = "DBQ=" & Server.MapPath( FileName )
Set GetExcelConnection = GetConnection( Driver & "ReadOnly=0;" & DBPath ) End Function

'---------------------------------------------------
Function GetTextConnection( Directory )
Dim Driver, DBPath

Driver = "Driver={Microsoft Text Driver (*.txt; *.csv)};"
DBPath = "DBQ=" & Server.MapPath( Directory )
Set GetTextConnection = GetConnection( Driver & DBPath )
End Function

'---------------------------------------------------
Function GetSQLServerConnection( Computer, UserID, Password, Db )
Dim Params, conn

Set GetSQLServerConnection = Nothing
Params = "Provider=SQLOLEDB.1"
Params = Params & ";Data Source=" & Computer
Params = Params & ";User ID=" & UserID
Params = Params & ";Password=" & Password
Params = Params & ";Initial Catalog=" & Db
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open Params
Set GetSQLServerConnection = conn
End Function

'---------------------------------------------------
Function GetMdbRecordset( FileName, Source )
Set GetMdbRecordset = GetMdbRs( FileName, Source, 2, "" )
End Function

'---------------------------------------------------
Function GetMdbStaticRecordset( FileName, Source )
Set GetMdbStaticRecordset = GetMdbRs( FileName, Source, 3, "" )
End Function

'---------------------------------------------------
Function GetSecuredMdbRecordset( FileName, Source, Password )
Set GetSecuredMdbRecordset = GetMdbRs( FileName, Source, 2, Password ) End Function

'---------------------------------------------------
Function GetSecuredMdbStaticRecordset( FileName, Source, Password )
Set GetSecuredMdbStaticRecordset = GetMdbRs( FileName, Source, 3, Password ) End Function

'---------------------------------------------------
Function GetDbfRecordset( Directory, SQL )
Set GetDbfRecordset = GetOtherRs( "Dbf", Directory, SQL, 2 )
End Function

'---------------------------------------------------
Function GetDbfStaticRecordset( Directory, SQL )
Set GetDbfStaticRecordset = GetOtherRs( "Dbf", Directory, SQL, 3 )
End Function

'---------------------------------------------------
Function GetDbcRecordset( FileName, SQL )
Set GetDbcRecordset = GetOtherRs( "Dbc", FileName, SQL, 2 )
End Function

'---------------------------------------------------
Function GetDbcStaticRecordset( FileName, SQL )
Set GetDbcStaticRecordset = GetOtherRs( "Dbc", FileName, SQL, 3 )
End Function

'---------------------------------------------------
Function GetExcelRecordset( FileName, SQL )
Set GetExcelRecordset = GetOtherRs( "Excel", FileName, SQL, 2 )
End Function

'---------------------------------------------------
Function GetExcelStaticRecordset( FileName, SQL )
Set GetExcelStaticRecordset = GetOtherRs( "Excel", FileName, SQL, 3 )
End Function

'---------------------------------------------------
Function GetTextRecordset( Directory, SQL )
Set GetTextRecordset = GetOtherRs( "Text", Directory, SQL, 2 )
End Function

'---------------------------------------------------
Function GetTextStaticRecordset( Directory, SQL )
Set GetTextStaticRecordset = GetOtherRs( "Text", Directory, SQL, 3 )
End Function

'---------------------------------------------------
Function GetSQLServerRecordset( conn, source )
Dim rs

Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open source, conn, 2, 2
Set GetSQLServerRecordset = rs
End Function

'---------------------------------------------------
Function GetSQLServerStaticRecordset( conn, source )
Dim rs

Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open source, conn, 3, 2
Set GetSQLServerStaticRecordset = rs
End Function

'---------------------------------------------------
Function GetConnection( Param )
Dim conn

On Error Resume Next
Set GetConnection = Nothing
Set conn = Server.CreateObject("ADODB.Connection")
If Err.Number <> 0 Then Exit Function

conn.Open Param
  If Err.Number <> 0 Then Exit Function
  Set GetConnection = conn
End Function

'---------------------------------------------------
Function GetMdbRs( FileName, Source, Cursor, Password )
  Dim conn, rs

On Error Resume Next
  Set GetMdbRs = Nothing
  If Len(Password) = 0 Then
      Set conn = GetMdbConnection( FileName )
  Else
      Set conn = GetSecuredMdbConnection( FileName, Password )
  End If
  If conn Is Nothing Then Exit Function

Set rs = Server.CreateObject("ADODB.Recordset")
  If Err.Number <> 0 Then Exit Function

rs.Open source, conn, Cursor, 2
  If Err.Number <> 0 Then Exit Function
  Set GetMdbRs = rs
End Function

'---------------------------------------------------
Function GetOtherRs( DataType, Path, SQL, Cursor )
  Dim conn, rs
  On Error Resume Next
  Set GetOtherRs = Nothing

Select Case DataType
      Case "Dbf"
        Set conn = GetDbfConnection( Path )
      Case "Dbc"
        Set conn = GetDbcConnection( Path )
      Case "Excel"
        Set conn = GetExcelConnection( Path )
      Case "Text"
        Set conn = GetTextConnection( Path )
  End Select
  If conn Is Nothing Then Exit Function

Set rs = Server.CreateObject("ADODB.Recordset")
  If Err.Number <> 0 Then Exit Function

rs.Open SQL, conn, Cursor, 2
  If Err.Number <> 0 Then Exit Function
  Set GetOtherRs = rs
End Function

'---------------------------------------------------
Function GetSQLServerRs( Computer, UserID, Password, Db, source, Cursor )
  Dim conn, rs

On Error Resume Next
  Set GetSQLServerRs = Nothing
  Set conn = GetSQLServerConnection( Computer, UserID, Password, Db )
  If conn Is Nothing Then Exit Function

Set rs = Server.CreateObject("ADODB.Recordset")
  If Err.Number <> 0 Then Exit Function

rs.Open source, conn, Cursor, 2
  If Err.Number <> 0 Then Exit Function
  Set GetSQLServerRs = rs
End Function
%>
使用方法是——复制下来存成一个文件,然后用#Include “文件名”就可以调用里面的子程序了。
有什么问题可以一起探讨!!!

(0)

相关推荐

  • 万能数据库连接程序

    简介: 连接各种类型数据库 及 对数据库操作的函数 下面这部分程序可说是万能的数据库连接程序几乎可以连接所有的MS数据库,自己拿去研究吧(这个程序是"ASP网页制作教程"这本书里面的--一本好书): <% '--------------------------------------------------- Function GetMdbConnection( FileName ) Dim Provider, DBPath Provider = "Provider=M

  • 零基础入门篇之Linux及Arm-Linux程序开发笔记

    前言:本文记录了自己从一个完全不懂Linux的人如何一步步学会Linux程序开发的过程.当然也希望本文能够达到它的目的,让那些和我一样没有任何基础的人也能快速入门Linux程序开发. 一.Arm-Linux程序开发平台简要介绍 Arm-Linux程序的开发并不像我们以前接触的Windows程序开发那样,关于平台的搭建就繁琐很多,所以在正式进入程序开发之前先对这种开发模式进行简要介绍,让一个即使没有任何Linux开发经验的程序员也能够看懂后面的内容. 1.1程序开发所需系统及开发语言 开发arm-

  • 深入数据库通用的连接方式详解

    每个数据的访问都用自己的通信协议,包括还有不同的接口调用,参数传递.在同一个程序里要使用不同数据库里的信息,按照正常的情况来说,那就要写不同的数据库连接的方法,就像在程序里写了多个精简版的 数据库 客户端.这样的编程方式肯定会让人不好难受,所以就期望能够有一种统一的访问数据库的方式,大家都用这一种方式去连接数据库,那么将减少很多痛苦. 话说微软是第一个给大家带来曙光的人,推出了ODBC的概念,从此所有的程序都不用自己写数据库连接程序了,从此跨入了解放时代.ODBC是一组基于C语言的API,它能兼

  • Ajax PHP 边学边练 之三 数据库

    本篇将继续通过该实例讲解与数据库的交互方式.实例中用到的是MySQL,也可以根据自己的需要替换为其他数据库,其连接方式可以参考PHP相关手册. 在下面源程序包中dbconnector.php 提供了与MySQL的连接函数. 复制代码 代码如下: <?php //定义数据连接变量 define ("MYSQLHOST", "localhost"); define ("MYSQLUSER", "root"); define

  • IIS漏洞整理大全

    去年下半年关于IIS的漏洞层出不穷,鉴于目前IIS的广泛使用,觉得有必要把收集的资料加以总结一下. 1.介绍 这里介绍的方法主要通过端口80来完成操作,具有很大的威胁性,因为作为网络服务器80端口总要打开的.如果想方便一些,下载一些WWW.CGI扫描器来辅助检查. 而且要知道目标机器运行的是何种服务程序,你可以使用以下命令: telnet <目标机> 80 GET HEAD / HTTP/1.0 就可以返回一些域名和WEB服务程序版本,如果有些服务器把WEB服务运行在8080,81,8000,

  • 5天学会asp

    呵呵,看到网上有人写了10天学会asp,偶也想写一个,他既然叫10天,那我就5天吧,呵呵,新手多看看,高手指出错误,不要笑话偶啊!知 识只有共享才能发展,不要吝啬你的知识!!!! 好了我们闲话少说现在就开始吧! 首先,我先把ASP说一下,asp就是 Active Server Pages的简写, 我们为了方便理解那,就把asp想成是 插入到HTml中的一种脚本语言吧,这样理解起来方便. 书上都是以hello world的代码开始的,我们也这样开始吧! 这里我们就开始以示例讲解了: 〈html〉

  • asp.net程序优化 尽量减少数据库连接操作

    项目以我自己的设计编码完成,并整合测试.初始化数据时,问题出现了.刚开始体现在客户端接受数据很慢.测试环境环境下,数据库服务器部署在国外,网站部署在公司内部,而且我一直认为我的程序在数据库数据处理这里已经做了足够的优化,包括索引和主键已经做到了合理使用.综上所述,起初的速度问题一直没有引起我的关注. 然而最后问题的关键恰恰出在数据库连接查询方面,频繁查询导致数据初始化速度很慢.刚开始我采取的方法是即用即查:需要数据的时候就从数据库查,有比较多的单表查询返回单个字段的情况.假如我有大概3000条左

  • 详解多线程Django程序耗尽数据库连接的问题

    Django的ORM是非常好用的,哪怕不是做Web项目也值得一用,所以网上也可以找到不少使用 Django 开发非Web项目的资料,因为除了ORM之个,命令行.配置文件等组件也非常好用. 最近用这种方式开发了一个非Web项目,而且是多线程的.有N个工作线程从DB中获取jobs,并把结果写回DB.简单来说就是这样. 项目运行一段时间后,发现数据库连接耗尽了,幸好内存大,然后一直往上调,最后连接数都上九千多一万了.耗尽连接数的时候,PostgreSQL 会出现类似这样的错误: FATAL: rema

  • 可以让程序告诉我详细的页面错误和数据库连接错误吗?

    <%  If Err.Number <> 0 Then ' 错误处理.       Response.Clear       ' 清除缓冲区. Select Case Err.Number            ' 根据不同错误分处理.    Case "" ' 指定错误类型:此处填加我们指定的错误处理代码.      Case Else ' 一般错误. If IsObject(objConnection) Then                  If objCo

  • java如何创建一个jdbc程序详解

    JDBC简介 Java数据库连接(Java Database Connectivity,JDBC),是一种用于执行SQL语句的Java API,它由一组用Java编程语言编写的类和接口组成. JDBC为数据库开发人员提供了一个标准的API,使他们能够用纯Java API来编写数据库应用程序. 使用JDBC编写的程序能够自动地将SQL语句传送给相应的数据库管理系统. JDBC扩展了Java的功能,由于Java语言本身的特点,使得JDBC具有简单.健壮.安全.可移植.获取方便等优势. 我们在没有JD

随机推荐