异构数据库访问

异构数据库访问
异构数据库访问

Oracle异构服务(Heterogeneous Service,HS)

代学俊

南京高泰科技有限公司南京 210009

【摘要】:异构数据库之间的数据访问,是有一定难度的。该文探讨异构数据库之间的数据访问方案,并分别祥细论述通过使用ORACLE 公司提供的普通连接(Generic Connectivity)和透明网关技术来实现ORACLE数据库与SQLSERVER数据库间的数据访问。

【关键词】:异构数据库;普通连接(Generic Connectivity);透明网关

一、引言

数据库技术讯速发展的今天,面对很多企业使用不至一种数据库软件。例如保险公司,总公司因业务量庞大,因而使用大型数据库来存储数据,如Oracle、Db2等,而各地的分支公司也都有自已的数据库系统,如:Informix、Sqlserver 等。总公司需要实现和各个分支公司的数据实现互联互通,能够调用各个分支公司的数据库。这就涉及异构数据库系统之间的数据共享问题,如何在这些异构数据库系统之间实现数据的共享呢?

二、Oracle HS (Heterogeneous Services)深入解析及协同Gateway工作流程

在企业里,通常可能有多种数据源,并且他们是异构的。所谓的异构就是说他们是不同的产品,例如: Oracle Database, MS SQL Server, IBM DB2, Sybase ASE, MySQL, Postgre SQL, Excel, XML, Txt或者CSV等用于存放数据的产品或者文件。

那么假设我们需要这些异构的数据源同Oracle Database做交互,那么我们应该如何做呢?首先来看看Oracle 数据库如何同异构数据源作数据交互。

图1

上图是一张Oracle 异构连接处理的架构图,其中我们可以看到主要的非数据源模块包括有HS(Heterogeneous Service), Agent. 还有一个远程数据库,我们假设它是异构的数据源。

可以看到,Oracle是不能直接同这些异构数据源作交互. Oracle是需要通过Heterogeneous Services协同Agent才能和异构数据源作数据交互。

2.1、异构服务HS

异构服务HS是Oracle Database的一个组件,它用于同Non-Oracle System 作数据交互。HS的作用:它告诉Agent它要同异构数据源作交互,并且让他知道,它要什么数据,什么样的数据,如何处理数据(如类型,方法等)

2.2、HS模块

HS主要包含事务服务和结构化查询语言服务两个模块:

2.2.1、事务服务(Transaction Service)

Transaction Service使异构数据源尽可能的集成进Oracle数据库服务器里的事务和会话中。所以当你访问一个异构数据源的时候,你使用Oracle 用户当前的会话来通过数据库连接(Database Link)在异构数据源建立相应的认证会话(访问异构数据源的认证信息由用户提供或者Database Link已经指定)。同样,当用户关闭了当前Oracle的Session(会话),那么异构数据源上的相应会话也随之关闭。 Oracle 另外支持Oracle分布式的访问异构数据源的事务。

2.2.2、结构化查询语言服务服务(SQL Service)

SQL Service用于处理所有的SQL相关的操作,包括有:

1)使Oracle内部SQL相关的调用映射成 HS 驱动的API. 这些会一次被驱动映射到异构数据源的客户端API.

2)翻译SQL语句。把Oracle的SQL语句翻译成相关的异构数据源的SQL

语句。

3)翻译通过引用Oracle data dictionary的相关表的查询语句,使之变成可以从异构数据源的data dictionary里获取所需信息的查询语句

4)转换异构数据源和Oracle数据库之间的数据类型

5)弥补在异构数据源中不存在的函数方法等,使之变成多条产需语句来获取相应的结果。

2.3、HS配置信息

HS的组件里有很多常见的编码,并且它被配置用于同很多不同的异构数据源一起协同工作。每个gateway都有这些配置信息,并且存在在相应的驱动模块中(Driver module). 这些信息会在HS和Gateway/Agent的连接建立后马上被上传到Oracle服务器。这些配置信息包括有:

2.3.1、Data Dictionary Translation Views

数据字典转换视图是以视图的方式存在于异构数据源的数据字典表里。它帮助HS像引用Oracle的Data dictionary表一样来饮用异构数据源的数据字典。

2.3.2、Heterogeneous Services Initialization Parameters

HS初始化参数主要提供两个方面的功能:

1)提供一个良好的调节gateway的手段,使gateway和HS组件的性能和内存的使用得到优化。

2)配置异构数据源的信息. 例如配置了多少个异构数据源,它们都运行了什么语言,都有哪些属性。相关当前会话的这些参数的设置信息,我们可以通过查询表V$HS_PARAMETER来得到。可以在gateway的初始化文件里进行设置更改。

2.3.3、Capabilities

功能性就是告诉HS异构数据源中有哪些类型的SQL语句不支持,如何转换映射这些SQL表达式到异构数据源里。

2.4、HS Data Dictionary

上面我们提到,配置信息。配置信息会在HS和Agent建立连接后,马上被Agent上传到HS 组件。那么上传后,它们都被存储与HS Data Dictionary表中。并且直到Agent的变化,这些信息才会被相应的覆盖,修改。

下面我们讲解下这些Data Dictionary的相关信息,使用HS可以从同一个Oracle数据库访问多个异构数据源,如下图所示:

图2

两个Agent都会把配置信息上传上去,各自存在到HS Data Dictionary table中。那么这些信息是怎么归纳起来的?HS把这些信息按两个层次来分:

2.4.1、Class

Class 是按照相关类型的产品来分。例如Sybase database systems, SQL Server databases system各分到一类里面。

2.4.2、Instance

实例是基于class来定义的。例如SQL Server数据库这个class里面有多个实例。所以一个class被多个特定的instance所共享。所以假设oracle数据

库要访问5个SQL Server的实例和2个MySQL的实例,那么Oracle数据库就需要两个class定义来访问他们。一个用于定义SQL Server,一个用于定义MySQL.同样,在这两个class中分别定义了5个和2个instance的定义。同时这里需要注意,instance 层的容量和数据字典的信息都是会话信息,所以它们不能存在在oracle数据库中的HS数据字典中。但是,instance的初始化参数可以存在在数据库中。在HS的数据字典视图(Data Dictionary views)中都包含了一下信息:

1)被上传到Oracle data dictionary的instances和classes的名称

2)功能性,包括为每个class和instance定义的SQL 事务

3)为每个class和instance定义的数据字典转化关系

4)为每个class和instance定义的初始化参数

这些视图又主要被分成三大类:

1)常规视图

2)Transaction Service 视图

3)SQL Service 视图

2.5、Agent Component

Agent Component包括Agent Generic Code和Driver

Agent Generic Code用于在异构数据源上执行数据操作或者检索.它负责接收命令,执行命令,获取执行结果。

Driver是Agent Generic Code和命令执行地交互的桥梁。没有它,Agent Generic Code就不能和异构数据源交互。

Agent Generic Code好比一个要到河对岸办事的人,Driver就好比到对岸的交通工具,例如桥。

Agent可以和异构数据源安装在同一台计算机上,可以同Oracle安装在同一台计算机上,它可以同Oracle和异构数据源都分离开而安装在单独的一台计算机上。

2.6、Oracle Agent

Oracle 为Agent提供了很多类型,因为不同的数据库厂商所使用的标准不一样,这些Agent通过Oracle产品主要封装在以下两种产品中:

2.6.1、Oracle Database

在Oracle Database中,默认安装的是ODBC Agent.用于同当前系统的ODBC 来做交互。从而由系统来负责Driver. 相应的Agent Generic Code是

dg4odbc.exe ,这个程序可以在ORACLE_HOME/bin目录下找到。

2.6.2、Oracle Transparent Gateway

Oracle透明网关(Transparent Gateway) ,它是包含在Oracle数据库中的一个模块,用来访问其它非Oracle数据库。透明网关的功能较强,它通过代理进程从Oracle Server访问各地的异构分布式数据库,而提供给用户的感觉是这些数据库仍然是Oracle数据库,Oracle公司提供对大多数商业数据库的透明网关。通用连接则有较多限制,它使用用户自己提供的ODBC或OLE DB驱动程序作为异构服务的代理驱动,并且要求这些驱动必须要安装在Oracle Server的$ORACLE_HOME目录下。关于透明网关的注意事项:

1) Oracle For SQL Server的透明网关在UNIX下无法实现,目前只支持WIN;原因很简单,SQL Server本身不支持UNIX,所以Oracle也无法直接在UNIX下访问SQL Server。因此网关程序tg4msql仅包含在Oracle Database for windows中。

2) Oracle For其它数据库的透明网关,如SYBASE等有UNIX本版本的数据库在UNIX可以实现。

3) Oracle透明网关软件在Oracle 8i时是需要花钱另买的,大约1万$;到Oracle 9i时是作为数据库的一个组件免费发布的。安装时在组件种选择即可。

4) 针对我们的实际应用,如果有需要实现Oracle 到SQL Server的互连,我们需要另外用一台WIN下的Oracle 9i来做透明网关服务器,其它UNIX下的Oracle通过这个透明网关来访问SQL Server。

5) 不同数据库间的数据处理需使用标准SQL来实现。

6) 各数据库中特殊的数据类型,需要在程序中实现转换,应尽量避免使用无法转换的数据类型。

2.7、HS和Gateway工作原理

我们来整体看一下HS和Gateway是如何系统工作的:

图3

(1)客户端从Oracle Database请求数据。用户发送的是Oracle标准的SQL 语句,在Oracle数据库上创建了一个Session。

(2)HS和Gateway协同工作,HS把Oracle的SQL语句转换成non-Oracle 数据库可以正确运行的语句。

a)HS和Gateway建立连接

b)HS获取相关的non-Oracle System的配置信息,如它是什么类型的数据库产品(SQL Server或者MySql , Sybase)等等属性

c)HS通过Data Dictionary View来识别该non-Oracle system的功能特征等各项属性,相应的转化Oracle标准的SQL语句成non-Oracle system兼容的语句

(3)Oracle数据库把转换后的SQL语句通过Oracle Net发送到Gateway。

(4)Gateway使用相关的用户名密码登陆到non-Oracle system,建立连接,执行SQL语句。

a) HS通过Gateway与Non-Oracle System建立连接,创建临时的Database Link.

b) Gateway使用Database Link指定的用户名及其密码登陆non-Oracle system

c) Gateway登陆成功则创建Gateway与non-Oracle System之间的会话,并且Database Link Open

d) Gateway把SQL语句通过建立的会话发送给non-oracle system执行

(5) Non-Oracle System返回运行SQL语句后的结果给Gateway。

(6) Gateway翻译/格式化返回的结果使其能被Oracle数据库的所兼容。

(7)把Gateway执行后的结果通过Oracle Net Service返回给Oracle数据库。

(8) Oracle数据库服务器通过Oracle Net把结果返回给客户端。并且数据库的database link一直打开这,直到gateway的会话结束或者database link 显式的关闭它。

在上述步骤中,第(2)步,Gateway通过本地的配置来调用相关的HS服务程序和驱动与异构数据源作交互。例如:

1)在配置initXXX.ora的时候,里面填写的主要是异构数据源的Address 信息,如主机名称/地址,端口,实例名称,数据库等等信息。

2)在配置listener.ora的时候,里面就记录了需要使用什么Agent Generic Code程序,需要通过什么使用到驱动。比如访问MS SQL Server,需要用到的Agent Generic Code程序是dg4msql, 驱动在

Oracle_Gateway_Home\dg4msql\driver\lib文件夹下。(如果Gateway安装在Windows下,默认不需要指定Driver的路径)

三、异构数据访问具体实现过程

由于数据库系统的类型不同,异构数据库间的数据访问方式也不尽相同。本文着重讨论通过ORACLE公司提供的,普通连接(Generic Connectivity)和透明网关技术,来实现异构数据库间的访问。

3.1、普通连接(Generic Connectivity)的实现方法

◆测试环境:

Oracle数据库服务器

主机:192.168.1.210

操作系统: Red Hat Enterprise Linux Server release 5.5

数据库版本: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 For linux

普通连接(Generic Connectivity) ODBC服务器

主机:192.168.1.98

操作系统:win2003

数据库版本: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 For windows

SQL Server数据库服务器

主机:192.168.1.100

操作系统: winxp sp3

数据库版本:SQL Server 2008 sp2

◆配置到SQL Server 2008的普通连接

点添加

选择SQL Server,点完成

填写数据源名称并选择连接的数据库,点下一步

选择SQL Server验证,如上填写登录数据库的用户名及密码。点下一步

如上选择连接的默认数据库,点下一步

如上选择语言为Simplified Chinese,点完成

点测试数据源对创建的数据源来进行测试。

点确定

点确定,完成数据源的创建。

创建参数文件

需要在$ORACLE_HOME\hs\admin目录下创建initsql2008.ora文件如下:

HS_FDS_CONNECT_INFO = sql2008

HS_FDS_TRACE_LEVEL = OFF

配置监听

在$ORACLE_HOME\network\admin目录下的listener.ora文件中加入下面的内容(SID_DESC =

(PROGRAM = hsodbc)

(SID_NAME = sql2008)

(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)

)

配置tnsnames.ora文件如下:

创建DB LINK

Linux平台

Linux平台的oracle DB LINK是之前做Oracle Gateway测试时已创建好的,直接执行查询报错如下

查找原因发现是因为我创建的数据源是用户DSN

改建为系统DSN后解决了故障,查询正常了

Windows平台

执行查询时报错如下:

删除DB LINK并重建后成功执行查询,如下

测试select

测试insert

测试update

3.2、透明网关(Transparent Gateway)实现方法

测试环境:

Oracle数据库服务器

主机:192.168.1.210

操作系统: Red Hat Enterprise Linux Server release 5.5

数据库版本: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 For linux

透明网关(Transparent Gateway)服务器

主机:192.168.1.198

操作系统: Red Hat Enterprise Linux Server release 5.4

Oracle Gateway版本: Oracle Database Gateway 11.2.0.1.0 For linux SQL Server数据库服务器

主机:192.168.1.100

操作系统: winxp sp3

数据库版本:SQL Server 2008 sp2

配置到SQL Server 2008的透明网关连接

1、安装gateway

从下载gateways安装包linux_11gR2_gateways.zip

解压linux_11gR2_gateways.zip后会生成gateways目录,进入gateways目录,执行runInstaller

数据库实时同步技术解决方案

数据库实时同步技术解决方案 一、前言 随着企业的不断发展,企业信息化的不断深入,企业内部存在着各种各样的异构软、硬件平台,形成了分布式异构数据源。当企业各应用系统间需要进行数据交流时,其效率及准确性、及时性必然受到影响。为了便于信息资源的统一管理及综合利用,保障各业务部门的业务需求及协调工作,常常涉及到相关数据库数据实时同步处理。基于数据库的各类应用系统层出不穷,可能涉及到包括ACCESS、SQLSERVER、ORACLE、DB2、MYSQL等数据库。目前国内外几家大型的数据库厂商提出的异构数据库复制方案主要有:Oracle的透明网关技术,IBM的CCD表(一致变化数据表)方案,微软公司的出版者/订阅等方案。但由于上述系统致力于解决异构数据库间复杂的交互操作,过于大而全而且费用较高,并不符合一些中小企业的实际需求。 本文结合企业的实际应用实践经验,根据不同的应用类型,给出了相应的数据库实时同步应用的具体解决方案,主要包括: (1) SQLSERVER 到SQLSERVER 同步方案 (2) ORACLE 到SQLSERVER 同步方案 (3) ACCESS 到SQLSERVER/ORACLE 同步方案

二、异构数据库 异构数据库系统是相关的多个数据库系统的集合,可以实现数据的共享和透明访问,每个数据库系统在加入异构数据库系统之前本身就已经存在,拥有自己的DMBS。异构数据库的各个组成部分具有自身的自治性,实现数据共享的同时,每个数据库系统仍保有自己的应用特性、完整性控制和安全性控制。异构数据库的异构性主要体现在以下几个方面: 1、计算机体系结构的异构 各数据库可以分别运行在大型机、小型机、工作站、PC嵌入式系统中。 2、基础操作系统的异构 各个数据库系统的基础操作系统可以是Unix、Windows NT、Linux等。 3、DMBS本身的异构 可以是同为关系型数据库系统的Oracle、SQL Server等,也可以是不同数据模型的数据库,如关系、模式、层次、网络、面向对象,函数型数据库共同组成一个异构数据库系统。 三、数据库同步技术

2014浙大远程数据库系统概论在线作业

窗体顶端 您的本次作业分数为:100分单选题 1.根据SQL标准,要查询表student中所有年龄age小于所有学生的平均年龄的记录,下面哪条语句适用? A select * from student where age < avg(age) B select * from student having age < avg(age) C select * from student a where a.age < (select avg(b.age) from student b) D select * from student a where (select avg(b.age) from student b ) >= a.age 正确答案:C 单选题 2.在数据库的三级模式结构中,描述数据库用户能够看到和使用的局部数据的逻辑结构和特征描述的是指()。 A 模式 B 内模式 C 外模式 D 逻辑模式 正确答案:C 单选题 3.下列数据模型中,数据独立性最高的是()。 A 网状数据模型 B 关系数据模型 C 层次数据模型 D 非关系模型 正确答案:B 单选题 4.SQL中,下列涉及空值的操作,不正确的是()。 A AGE IS NULL B AGE IS NOT NULL C AGE = NULL

D NOT (AG E IS NULL) 正确答案:C 单选题 5.DBMS中实现事务隔离性的子系统是()。 A 安全性管理子系统 B 完整性管理子系统 C 并发控制子系统 D 恢复管理子系统 正确答案:C 单选题 6.如果一个关系中的属性或属性组并非该关系的码,但它是另外一个关系的主码,则称其为该关系的()。 A 码 B 外码 C 元组 D 主键 正确答案:B 单选题 7.如果事务T1封锁了数据R1,T2封锁了数据R2,然后T1又请求封锁R2。接着T2又申请封锁R1。这样就出现了T1在等待T2,而T2又在等待T1的局面,T1和T2两个事务永远不能结束,形成()。 A 活锁 B 死锁 C 乐观锁 D 悲观锁 正确答案:B 单选题 8.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是()。 A 多对多

实验十二 数据库的连接与访问 实验指导

实验十二数据库的连接与访问实验指导 https://www.360docs.net/doc/f116176734.html,是.NET Framework中的一系列类库,提供了在.NET开发中数据库所需的操作的类。在.NET应用程序开发中,C#可以使用https://www.360docs.net/doc/f116176734.html,。 可以将https://www.360docs.net/doc/f116176734.html,看做是一个介于数据源和数据使用者之间的转换器,如图1所示。https://www.360docs.net/doc/f116176734.html,接收使用者语言中的命令,如连接数据库、返回数据集等,然后将这些命令转换成可以在数据源中正确执行的语句。 图1 https://www.360docs.net/doc/f116176734.html,的功能示意图 一、https://www.360docs.net/doc/f116176734.html, 命名空间及其常用类 https://www.360docs.net/doc/f116176734.html,体系结构的类包含在System.Data命名空间中(命名空间相当于一个容器,它包含一组定义的类或结构,命名空间也可以嵌套在另一个命名空间中。.NET类库提供了很多类,根据类的功能不同,又划分了很多命名空间,而这些命名空间大多数有一个顶级的命名空间System。其中System.Data命名空间提供对表示https://www.360docs.net/doc/f116176734.html,结构的类的访问),根据功能划分,System.Data又包含了多个子空间。System.Data命名空间及其子空间所包含的常用类如表1所示。 表1 System.Data命名空间及其子空间的常用类

二、https://www.360docs.net/doc/f116176734.html,数据库访问 下面以一个简单的实例来说明在C#应用程序设计中如可使用https://www.360docs.net/doc/f116176734.html,来访问数据库。 首先用Visual Studio 2008中的C#设计一个如图2所示的窗体。 图2 学生注册信息管理的窗体设计 建立上述窗体的过程如下: (1)启动Visual Studio 2008,然后文件->新建项目,弹出如图3所示的对话框。

图3 新建项目对话框 在新建项目对话框中,选择左侧的项目类型为“Visual C# --Windows”,右侧的模板中选择“Windows 窗体应用程序”,下面输入项目的名称例如studentmis,并设置好存储路径,然后点击确定,生成如图4所示的Form1窗体。 图4 Form1窗体

7种方法连接数据库

连接数据库的方法小结 1.ODBC API ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。 一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access , MYSQL还是Oracle数据库,均可用ODBC API 进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。 2.MFC ODBC 由于直接使用ODBC API编写应用程序要编制大量代码,开发者往往需要花费很多的精力在非核心代码的维护上,而Visual C++提供了MFC ODBC类,封装了ODBC API,这使得利用MFC ODBC来创建ODBC应用程序非常简便。 3.DAO(Data Access Object) DAO提供了一种通过程序代码创建和操纵数据库的机制,多个DAO构成一个体系结构,在这个体系结构中,各个DAO对象协同工作。MFC DAO是Microsoft提供的用于访问Microsoft jet数据库文件的强有力的数据库开发工具,它通过封装DAO,向程序员提供了DAO操作数据库的手段。 4.OLE DB OLE DB(Object Linking and Embedding, Database, 又称为OLE DB或OLE-DB),一个基于COM的数据存储对象,能提供对所有类型的数据的操作,甚至能在离线的情况下存取数据(比方说,你使用的是你的便携机,你可以毫不费力地看到最后一次数据同步时的数据映像). OLEDB位于ODBC层与应用程序之间. 在你的ASP页面里,ADO是位于OLEDB之上的应用程序. 你的ADO调用先被送到OLEDB,然后再交由ODBC 处理. 你可以直接连接到OLEDB层,如果你这么做了,你将看到服务器端游标(recordset的缺省的游标,也是最常用的游标)性能的提升.

SQLSERVER2008开启远程数据库访问图解

SQL SERVER2008开启远程数据库访问图解moon.翘楚 2012-02-19 8:52 转载自zhangcheng1 最终编辑zhangcheng1 tag:sql server2008远程数据库,远程连sql,IP远程连SQL SERVER,1433端口映射 这篇文章不错,我试验了确实可以,moon.翘楚在这里再进行一下图文增补,让大家更加明白。 讲解SQL Server 2008开启远程连接 作者:blue1000出处:IT专家网论坛2010-06-23 07:00 sql server 2008默认是不允许远程连接的,sa帐户默认禁用的,如果想要在本地用SSMS连接远程服务器上的SQL Server 2008,需要做两个部分的配置: sql server 2008默认是不允许远程连接的,sa帐户默认禁用的,如果想要在本地用SSMS连接远程服务器上的SQL Server 2008,需要做两个部分的配置: 1,SQL Server Management Studio Express(简写SSMS) 2,SQL Server 配置管理器/SQL Server Configuration Manager(简写SSCM) 有两点要注意: 1,2005的外围应用配置器在2008中换了地方 2,有些设置生效需要重启一下SQL Server step 1: 打开SSMS,用windows身份连接数据库,登录后,右键选择“属性” step 2: 左侧选择“安全性”,选中右侧的“SQL Server 和 Windows 身份验证模式”以启用混合登录模式 step 3: 选择“连接”,勾选“允许远程连接此服务器”,然后点“确定” step 4: 展开“安全性”->“登录名”->“sa”,右键选择“属性” step 5: 左侧选择“常规”,右侧选择“SQL Server 身份验证”,并设置密码 step 6: 选择“状态”,选中“启用”,点击“确定” step 7: 右击数据库选择“方面”

数据库访问技术

7.2 数据库访问技术 访问数据库中的数据对象时,一般可采用两种访问方式:一是登录用户直接借助DBMS 的数据操纵工具,通过图形或SQL命令接口联机访问;另外一种为程序代码通过应用程序编程接口(Application Programming Interface,API)进行数据库连接验证以及数据操作。两种数据库访问方式,可以抽象为图7.5的层次结构,从中可见中间的接口组件是数据库访问的桥梁与核心,本节主要就该部分的通用接口技术(即API访问方式)部分进行介绍。 图7.5 数据库访问结构示意 根据底层数据操作模式的差异,数据库接口可简单分为:本地(Local)数据库接口和客户机/服务器(Client/Server)数据库接口。 1.本地数据库接口 通过DBMS将用户数据请求转换成为简单的磁盘访问命令,并交由操作系统的文件管理系统执行;然后DBMS从文件管理系统得到数据响应并加以处理。由于DBMS数据文件组织结构的差异,本地型DBMS只能够读取特定的数据源。 2.客户机/服务器数据库接口 数据处理工作分散到工作站和服务器上处理。工作站通过特定的数据库通信API,把数据访问请求传给相应的服务器的后端数据驱动程序。由于不同客户机/服务器数据库管理系统通信机制的差异,异构数据库之间也难以实现透明通信互访。 因此,仅依靠特定DBMS提供的数据库访问接口难以支撑透明的、通用的异构数据库访问。后台数据库管理系统的变更或升级,需要程序员对特定API的重新学习,以及对应用程序代码的改写;而市场上DBMS产品众多,必将进一步加大系统开发人员的学习和维护压力,应用程序与数据源间的独立性难以真正实现。为此,建立更为通用的数据访问技术规范,为程序用户提供一套完整、统一的数据库访问接口,得到了数据库业界广泛认同与支持,并由此产生了众多成熟的数据库访问接口应用技术规范。 到目前为止,主流的数据库访问技术包括ODBC、MFC ADO、RDO、OLE DB、ADO、https://www.360docs.net/doc/f116176734.html,以及JDBC等通用技术标准。这些通用数据库访问技术的出现与发展大大降低了数据库系统开发与维护门槛,改善了数据库系统的移植性、扩展性,极大推动了数据库技术的发展与普及。下面就主流数据库访问技术发展与演化进行介绍。

数据库访问技术简介

数据库访问技术简介 数据库中的数据存放在数据库文件中,我们要从数据库文件中获取数据,先要连接并登陆到存放数据库的服务器。一般来说,访问数据库中的数据有两种方式:一是通过DBMS (Data Base Management System,数据库管理系统)提供的数据库操作工具来访问,如通过SQL Server 2000的查询设计器来提交查询,或者通过SQL Server 2000的企业管理工具来访问。这种方式比较适合DBA对数据库进行管理;二是通过API(Application Programming Interface, 应用编程接口)来访问数据库,这种方式适合在应用程序中访问数据库。 在数据库发展的初期,各个开发商为自己的数据库设计了各自不同的DBMS,因此不同类型的数据库之间数据交换非常困难。为了解决这个问题,Microsoft提出了ODBC(Open Data Base Connectivity,开放数据库互连)技术,试图建立一种统一的应用程序访问数据库接口,使开发人员无需了解程序内部结构就可以访问数据库。 1、Microsoft提出的系列数据库访问技术 1.1、ODBC ODBC是微软公司开放服务结构中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API。应用程序可以使用所提供的API来访问任何提供了ODBC驱动程序的数据库。ODBC规范为应用程序提供了一套高层调用接口规范和基于动态链接的运行支持环境。ODBC已经成为一种标准,目前所有的关系数据库都提供了ODBC 驱动程序,使用ODBC开发的应用程序具有很好的适应性和可移植性,并且具有同时访问多种数据库系统的能力。这使得ODBC的应用非常广泛,基本可用于所有的关系数据库。 要使用ODBC,先要了解以下概念:ODBC驱动管理器、ODBC驱动程序、数据源。它们都是ODBC的组件。ODBC组件之间的关系如图1所示。

用PLSQL远程连接Oracle数据库

PL/SQL Developer 远程连接Oracle数据库 1、配置服务器tnsnames.ora文件,如果本机上没有安装oracle,可以从安 装了oracle的机上拷贝一个(tnsnames.ora文件)放在指定目录下,因为我已安装oracle,所以直接配置该文件。 # tnsnames.ora Network Configuration File: D:\Oracle11g\product\11.2.0\dbhome_1\network\admin\tnsnames.ora # Generated by Oracle configuration tools. LISTENER_ORCL = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ORACLR_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) (CONNECT_DATA = (SID = CLRExtProc) (PRESENTATION = RO) ) ) ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.25.224)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) orcl为远程Oracle数据库的实例名,IP地址和端口也要配置正确。 2、配置完成后,Oracle客户端应该可以连接到远程Oracle 数据库上。

2015年浙江大学远程-数据库系统概论在线作业

1.若事务T对数据对象 A 进行读取和修改操作,且其它任何事务都不能访问 A, 此时事务 T需对数据对象A加上()。 ? A 读锁 ? B 死锁 ? C 写锁 ? D 活锁 正确答案:C ? 单选题 2.在SQL语言中授权的操作是通过()语句实现的。 ? A CREATE ? B REVOKE ? C GRANT ? D INSERT 正确答案:C ? 单选题 3.如果事务T获得了数据项Q上的排它锁,则T对Q()。 ? A 只能读不能写 ? B 只能写不能读 ? C 既可读又可写

? D 不能读不能写 正确答案:C ? 单选题 4.根据SQL标准,创建一个视图abc,通过该视图只能对表student中系dept 为‘IS’的记录进行更新操作。下面哪条语句适用? ? A create view abc as select * from student where dept=’IS’ ? B create view abc as select * from student where dept=’IS’ with check option ? C create view abc as student where dept=’IS’ ? D create view abc as select dept=’IS’ from student 正确答案:B ? 单选题 5.根据SQL标准,删除表student中对字段sno的唯一性约束,应该使用下面 哪条语句? ? A drop sno from table student ? B alter table student drop sno ? C alter table student drop unique(sno) ? D alter table student drop sno unique 正确答案:C

SQL2000数据库实现远程连接

SQL 2000数据库怎么实现远程连接 SQL Server 2000无论是个人版、企业版还是标准版,只要细版本在8.00.1760以下,均不提供远程数据库连接,即使服务器端工具和客户端工具的设置均有TCP/IP设置和数据库连接属性也设置了RPC远程连接,仍然不能实现远程连接。该怎么解决呢? 解决方案如下: 首先,需要打SP4补丁,该补丁包含了以前sp1、2、3的补丁,安装此补丁后一般要重新启动计算机,再进行远程连接就可以了,如再企业管理器可远程注册服务器、查询分析可连接远程服务器、ODBC可连接远程服务器。 要点: 1.确认服务器端SQL服务端口号是否为:1433 2.如果不是1433,配置客户端 3.建立服务器端登录帐号,确保角色及管理数据库 一、查看服务器端情况 1. 看ping 服务器IP能否ping通。 这个实际上是看和远程sql server 服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当然得确保远程sql server 服务器的IP拼写正确。 2. 在Dos或命令行下输入telnet 服务器IP 端口,看能否连通。 如telnet 202.114.100.100 1433 通常端口值是1433,因为1433是sql server 的对于Tcp/IP的默认侦听端口。如果有问题,通常这一步会出问题。通常的提示是“……无法打开连接,连接失败"。 如果这一步有问题,应该检查以下选项。 1) 检查远程服务器是否启动了sql server 服务。如果没有,则启动。 2) 检查sql server服务器端有没启用Tcp/IP协议,因为远程连接(通过因特网)需要靠这个协议。检查方法是,在服务器上打开开始菜单->程序->Microsoft SQL Server->服务器网络实用工具,看启用的协议里是否有tcp/ip协议,如果没有,则启用它。 3) 检查服务器的tcp/ip端口是否配置为1433端口。仍然在服务器网络实用工具里查看启用协议里面的tcp/ip的属性,确保默认端口为1433,并且隐藏服务器复选框没有勾上。 事实上,如果默认端口被修改,也是可以的,但是在客户端做telnet测试时,写服务器端口号时必须与服务器配置的端口号保持一致。如果隐藏sql server服务器复选框被勾选,则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接,但是Tcp/ip协议的默认端口将被隐式修改为2433,在客户端连接时必须作相应的改变(具体方式见二:设置客户端网络实用工具)。

数据库系统的访问

第7章数据库系统的访问 对于那些相对独立的软件供应商而言,经常要为每一个DBMS编写一个版本的应用程序,或者为每个要访问的DBMS编写针对DBMS的代码。这就意味着,大量的资源都耗在了编写和维护DB的访问上,更不用说应用程序了。此时应用程序的评价标准不再是质量,而是它能否在给定的DBMS中访问数据库。 这就需要开放的数据库连接,就是人们需要用一种新的方法来访问不同的数据库。为此,在C/S,B/S系统中必须广泛使用访问接口技术,以隐藏各种复杂性,屏蔽各种系统之间的差异。常见的数据库访问接口的技术有固有调用、ODBC、JDBC、OLE DB、DAO、ADO、https://www.360docs.net/doc/f116176734.html, 以及基于XML的数据库访问等几种流行的方式。这其中以ODBC技术和JDBC技术应用最广泛,也是目前最为优秀的访问接口方式。 本章主要对几种常见的数据库访问技术(如固有调用、ODBC、JDBC、OLE DB、DAO、ADO、https://www.360docs.net/doc/f116176734.html,以及基于XML的数据库访问等)进行介绍。 7.1 数据库的访问接口 所谓访问接口是指分布式环境中保证操作系统、通信协议、数据库等之间进行对话、互操作的软件系统。 访问接口的作用是保证网络中各部件(软件和硬件)之间透明地连接,即隐藏网络部件的异构性,尤其保证不同网络、不同DBMS和某些访问语言的透明性,即下面三个透明性。 ⑴网络透明性:能支持所有类型的网络。 ⑵服务器透明性:不管服务器上的DBMS是何种型号(ORACLE、SYBASE、DB2等),一个好的访问接口都能通过标准的SQL语言与不同DBMS上的SQL语言连接起来。 ⑶语言透明性:客户机可用任何开发语言进行发送请求和接受回答,被调用的功能应该像语言那样也是独立的。 应用系统访问数据库的接口方式有多种,本节介绍固有调用、ODBC和JDBC。 7.1.1 固有调用 每个数据库引擎都带有自己的包含用于访问数据库的APl函数的动态链接库DLL,应用程序可利用它存取和操纵数据库中的数据。如果应用程序直接调用这些动态链接库,就说它执行的是“固有调用”,因为该调用对于特定的数据库产品来说是“固有” (专用)的。 固有调用接口的优点是执行效率高,由于是“固有”,编程实现较简单。但它的缺点也是很严重的:不具通用性。对于不同的数据库引擎,应用程序必须连接和调用不同的专用的动态链接库,这对于网络数据库系统的应用是极不方便的。 7.1.2 ODBC ODBC是“开放数据库互连”(Open Database Connectivity)的简称。ODBC是Microsoft 公司提出的、当前被业界广泛接受的应用程序通用编程接口(API)标准,它以X/Open和ISO/IEC的调用级接口(CLI)规范为基础,用于对数据库的访问。我们可以用如下图示来说明ODBC概念。

Labview中远程数据库访问技术

摘要:介绍了在Labview中应用ADO技术访问本地和远程数据库的方案。对在局域网中以网络 共享方式访问远程Access数据库进行了详细介绍,最后给出了应用该方法开发的一个实例。关 键词:LabviewADO远程数据库引言Labview是美国NI公司开发的一种图形化编程语言,其主 要用于数据采集、仪器控制、过程监控等领域。Labview具有丰富的采集与分析函数库,在Labview环境下可以方便快捷地开发监控系统软件。现代监控系统一般构建于局域网内,且 摘要:介绍了在Labview中应用ADO技术访问本地和远程数据库的方案。对在局域网中以网络共享方式访问远程Access数据库进行了详细介绍,最后给出了应用 该方法开发的一个实例。 关键词:Labview ADO 远程数据库 引言 Labview 是美国NI公司开发的一种图形化编程语言,其主要用于数据采集、仪器控制、过程监控等领域。Labview具有丰富的采集与分析函数库,在Labview 环境下可以方便快捷地开发监控系统软件。现代监控系统一般构建于局域网内,且监控系统自身也是企业生产管理系统的一个子系统,因此不可避免地要访问本地或远程数据库。Labview开发版中并没有提供直接与通用数据库接口的工具,但可以 通过以下方法解决:购买NI公司开发的附加软件工具包;利用其它语言如VC++编写DLL访问数据库;利用ADO控件访问数据库。[1]Labview支持Activex控件,与其它方法相比基于ADO技术构建本地或远程数据库访问接口不失为一种简单而又经济 的方法。 1 ADO技术简介 ADO(Activex Data Objects)是Microsot为OLE DB设计的应用层接口,它为一致的数据访问接口提供了良好的扩展性而不局限于单一的数据源。ADO接口编程模型中包括连接(connection)、命令(command)、参数(parameter)、 记录集(recordset)、字段(field)、错误(error)、属性(property)、集合(collection)、事件(event)等元素。其中connection、command、recordset是三个主体对象,parameters、fields、errors、properties、是四个集合对象。ADO的一般操作方式为:1 连接到数据源;2 指定访问数据源的命令;3 执行命令;4 将命令执行后产生的结果保存在缓存中;5 更新数据源。ADO接口继承了OLE DB的高速性,可以高速访 问本地或远程的数据源。 2在Labview 中使用ADO接口 在Labview 中使用ADO接口访问数据库一般包括以下几个步骤:建立ADO控件;连接到数据源;生成SQL命令;执行命令;关闭连接。具体步骤如图1 所示。 2.1建立ADO控件 在前面板控件模板中选择Activex子模板单击Automation Refnum项,右键单击Select Activex Class的Browse从类型库中选择 Microsoft Activex Data Objects 2.7 library Version 2.7,之后可以向框图程序中加 入connection、command、recordset等对象。 2.2连接到数据源 首先在Diagram中单击鼠标右键,从Function模板选择communication 子模板,从中选择Activex项的Automation Open 与ADODB_Connection相连即 可打开连接。接着同样从communication子模板的Activex项中选择 Invoke node (方法节点)并与Automation Open 相连,在其上单击右键选择methods项的Open方法即出现图1中所示的节点。其中“Open”表示该节点为打开“连接对象”,“ConnectionString”是连接到数据源的字符串,“UserID”和“Password”

中石油远程教育-数据库课程设计

中国石油大学远程教育学院《数据库课程设计》 题目:学生管理系统 专业:计算机科学与应用 班级:1109 学生姓名:逐风者 学号:0000 2013 年05 月

1 开发背景 (3) 1.1 时代背景[1] (3) 1.2 开发环境与开发工具 (3) 1.3 设计内容 (3) 2 功能描述 (4) 2.1 系统需求分析 (4) 2.2 功能需求分析 (4) 2.3 系统功能模块设计 (5) 3 数据分析 (6) 3.1数据字典 (6) 4 概念模型设计 (7) 5 逻辑模型设计和优化 (10) 5.1 数据库初始关系模式 (10) 5.2 规范化处理 (10) 6 课程设计总结和体会 (11) 参考文献 (12)

1 开发背景 1.1 时代背景[1] 2013年是移动互联网、电子商务、大数据业务蓬勃发展的一年,抛去这些光环的头衔,对于计算机而言,这一切的核心都离不开数据库设计。 数据库系统设计是把现实世界的具体事物和具体业务虚拟化成计算机可以识别的逻辑,简单的说就是对现实世界的实例化。优秀的数据库模式能够有效存储数据,满足用户信息要求和处理要求。为了使数据库应用系统开发设计合理、规范、有序、正确、高效进行,现在广泛采用的是工程化6个阶段开发设计过程与方法,它们是需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库的实施、数据库系统运行与维护阶段。 1.2 开发环境与开发工具 本课程设计使用的是MYSQL 数据库,开发语言的使用的是java, 前端界面使用的是Netbeans,这是一款可视化的java 开发工具。 1.3 设计内容 设计内容:学生学籍和活动的管理,统计学校专业的选课和学生工会(团体)的选择情况。

第七讲 VB访问SQL Server2000数据库的方法

第七讲 VB访问SQL Server2000数据库的方法 一、ODBC数据源设置 1、ODBC简介 ODBC Open DatabaseConnectivity开放式数据库互连)是Mircosoft公司有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API Application应用程序编程接口)。这些API利用SQL来完成大部分的任务。ODBC本身提供对SQL语言的支持,用户可以直接将SQL送给ODBC一个基于ODBC的应用程序对数据库操作不依赖于任何DBMS,不直接与DBMS打交道,所有数据库操作由ODBC驱动程序完成。 2、ODBC数据源的创建(建立ODBC数据源) 前台系统Windows 2000 professional系统,后台Windows 2000 Server系统。以Windows 2000 professional为例: (1)单击“开始”/设置/控制面板/管理工具/数据源ODBC,打开“ODBC数据源管理器”,选择“用户DSN or 系统DSN”,单击【添加】按钮,打开“创建用户数据源”对话框,选择“SQL Server”,单击【完成】按钮。

(2)打开“创建新的数据源到SQL Server”窗口: ○1你想用什么名称命名数据源:在名称框中输入xn。 ○2服务器:为网络中数据库服务器(默认是本地服务器Local,可选远程服务器IP)。 ○3登陆ID:xn密码:xn(取决于安装SQL时所指定的密码)。特别注意此处为确保数据库安全起见,数据库管理员可以给用户指定一个用户名及密码。这里为简便起见使用管理员用户名及密码。 ○4更改数据库为:aa(所要使用的数据库)。

数据库访问层的实现

系统数据库操作采用ADO技术,在进行代码设计时,把数据库操作的代码单独写在一个自定义的ado.cpp文件里,包括CADODatabase和CADORecordset两个类分别实现对数据库和记录集的操作,并将这些操作封装在两个类中。 (1)引入ado库 #import "C:\Program Files\Common Files\System\ADO\msado15.dll" \ no_namespace rename("EOF", "adoEOF"),rename("BOF","adoBOF") (2)用_ConnectionPtr对象连接数据库 连接数据库操作中LPCTSTR lpstrConnection作为输入参数,在lpstrConnection参数中设置驱动driver={SQL Server},数据源(本地) Server=127.0.0.1,数据库名称DATABASE=QUEStoreDB,数据库用户名UID,数据库用户密码PWD。运用_ConnectionPtr连接数据源。主要代码如下: BOOL CADODatabase::Open(LPCTSTR lpstrConnection) { HRESULT hr = S_OK; if(IsOpen()) Close(); if(strcmp(lpstrConnection, _T("")) != 0) m_strConnection = lpstrConnection; ASSERT(!m_strConnection.IsEmpty()); try { hr = m_pConnection->Open(_bstr_t(m_strConnection), "", "", NULL); return hr == S_OK; } catch(_com_error &e) { dump_com_error(e); } return FALSE; } (3)用_ConnectionPtr对象执行指令 当对数据库进行插入、删除、更新操作时用此方法。String sql为输入参数,传入SQL(Insert,Delete,Update)语句。主要代码如下: BOOL CADODatabase::Execute(LPCTSTR lpstrExec)

sqlHelp数据库操作类

using System; using System.Collections; using System.Collections.Specialized; using System.Data; using System.Data.SqlClient; using System.Configuration; namespace LiTianPing.SQLServerDAL //可以修改成实际项目的命名空间名称 { ///

/// Copyright (C) 2004-2008 LiTianPing /// 数据访问基础类(基于SQLServer) /// 用户可以修改满足自己项目的需要。 /// public abstract class DbHelperSQL { //数据库连接字符串(web.config来配置) // protected static string connectionString = ConfigurationSettings.AppSettings["ConnectionString"]; public DbHelperSQL() { } #region 公用方法 public static int GetMaxID(string FieldName,string TableName) { string strsql = "select max(" + FieldName + ")+1 from " + TableName; object obj = GetSingle(strsql); if (obj == null) { return 1; } else { return int.Parse(obj.ToString()); } } public static bool Exists(string strSql, params SqlParameter[] cmdParms) { object obj = GetSingle(strSql, cmdParms); int cmdresult;

数据库访问类

本文由星野看星贡献 using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; namespace Mysqlserver { ///  /// SqlServerDataBase 的摘要说明 ///  public class SqlServerDataBase { private string strError = null; private int intCount = 0; public SqlServerDataBase() { // // TODO: 在此处添加构造函数逻辑 // } ///  /// 公开方法DBConn,返回数据库连接 ///  /// <returns></returns> public SqlConnection DBconn() { string strConn = "Server=(local);Database=GlobalMeetings;Uid=sa;pwd="; try { return new SqlConnection(strConn); } catch (Exception) { return null; } } ///  /// 公开属性ErrorMessage,返回错误信息 ///  public string ErrorMessage { get { return strError; }

远程访问数据库

远程访问数据库 对于oracle数据库,可以通过建立dblink的方式,在一个数据库中访问获取另一个数据库的数据,具体实现方式如下: 1.建立DATABASE LINK: 在本机数据库中执行如下语句: Create public database link ERPDATABASE–远程数据库连接名 Connectto apps identifiedby apps Using '(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP) (HOST = 192.168.0.100) (PORT = 1521) ) ) (CONNECT_DATA = (SERVICE_NAME = ERPTEST) ) ) ' ; 蓝色部分可以从数据库安装目录\product\10.2.0\db_1\network\ADMIN的路径下找到,拷贝tnsnames.ora文件中的对应信息。 以上连接信息可以用oracle客户端的Net Manager工具生成:

2.查看数据 成功之后,可以在本机数据库中查看ERPTEST数据库的数据: 其中需要注意的有: 1)ygfm为数据库用户名,因为dblink的连接信息中使用的apps用户是数据库dba,所以可以方位ygfm的数据,这里要注意的是apps需要有ygfm的访问权限。 2)注意需要使用’ @ERPDATABASE’标识远程数据库。 3.建立同义词 可以建立同义词减少输入: 执行以下语句: Create synonym ygfm_analyse_base for ygfm.ygfm_analyse_base@ERPDATABASE; 查询: select * from ygfm_analyse_base; 需要注意的是:这里建立的DATABASE LINK 不同于tnsnames.ora文件中的连接信息,这里是在数据库中保存连接信息,而tnsnames.ora文件中的连接信息是在数据库层面之上的。

VB访问数据库的方法及接口分析

摘要:本文介绍了几种Visual Basic访问数据库的方法,对这些数据接口的性能进行了比较,并提出相互的转化关系。 1VB访问数据库的方法 VB访问数据库的方法很多,一般情况下分成两大类,而每一类又有很多方法。下面以列表的方式列出每一类,及每一类包含的方法。 1.1接口对象法(API) VBSQL:通过DB-Library访问微软的SQL Server。 ODBC API:任何一种ODBC数据源16位和32位。 DAO/Jet:本地的Jet/Access.MDB、顺序索引数据库(ISAM)和任何ODBC数据源。 DAO/ODBC Direct:任何一种ODBC数据源(经过RDO)。 RDO2.0:任何一种ODBC数据源(LevelⅠ或Ⅱ)。 ADO:任何一种ODBC数据源和任何经过OLE DB界面接口的数据源。 1.2数据控件法 Data Control:DAO/Jet数据界面接口。 Data Control/ODBC Direct:DAO/ODBC Direct数据界面接口。 RemoteData Control/RDC:RDO数据界面接口。 Advanced Data Connector/ADC:ADO数据界面接口。 2几种接口的比较 ADC(Advanced Data Connector):高级数据连接器。提供绑定ADO数据源到窗体的数据绑定控件上。ADC主要是一种直接访问或者通过ADO访问远程OLE DB对象的一种技术,它也支持主要应用在微软IE浏览器上的数据绑定控件。它是特地为Web上的浏览器为基础的应用程序而设计的。 ADO(Active Data Objects):Active数据对象。是DAO/RDO的后继产物,ADO“扩展”了DAO和RDO所使用的对象模型,这意味着它包含较少的对象、更多的属性、方法(和参数),以及事件。ADO实际是一种提供访问各种数据类型的连接机制。ADO设计为一种极简单的格式,通过ODBC的方法同数据库接口。可以使用任何一种ODBC数据源,即不止适合于SQL Server、Oracle、Access等数据库应用程序,也适合于Excel表格、文本文件、图形文件

HTML5的SQL数据库访问JavaScript数据

HTML5的SQL数据库访问JavaScript数据 HTML5的网页浏览器的推出,它现在可以为Javascript代码,直接在电脑上存储的数据库中存储的数据交互。 对于大多数程序员数据齐头并进,他们创建的应用程序。通常情况下,应用程序将读取数据,允许用户更新或添加信息,然后将其存储的数据。典型的桌面应用程序,将这些数据存储在用户的计算机数据库,但Web应用程序略有不同。 用户的PC上,他们只能存储有限的数据(如饼干),不得不求助于在中央服务器上存储的数据库(例如使用PHP和MySQL)。这是不可能的客户端语言(如JavaScript)数据库(如SQLite)直接沟通和程序员是无法写入代码如: 然而,与HTML5这一切都变了。程序员现在可以存储在用户的计算机上的数据库。应用程序可以创建表进行选择,插入,更新和删除语句。和程序员可以使用标准的SQL查询。 每个Web浏览器的数据库? 在写只有Safari和Chrome都纳入了HTML5的Web SQL数据库(或更正确,WebDatabase的API - 一个流行的SQLite数据库的子集)的时间,目前还不清楚如果其他浏览器将利用这。事实上,它可能是Firefox 将使用IndexedDB数据库,但都没有,到今天为止,产生了一个纳入数据库的浏览器。 这是一个标准的SQL数据库,是不是它? 只是一个小点值得指出有关Web SQL数据库。任何疑问进行了异步不同步。虽然这是令人难以置信的强大的技术,它意味着很多程序员将需要重新思考的方式在他们的方式在他们结构其方案的流动。 适应异步编程 一个Javascript程序员将开始与一个典型的脚本是: <脚本语言=“JAVASCRIPT”> 功能run_query(SQL){ db.transaction(功能(TX){ tx.executeSql(SQL); });

相关文档
最新文档