四种连接数据库的方法
用ASP连接数据库的几种方法
用ASP连接数据库的几种方法用ASP连接DBF、DBC、MDB、Excel、SQL Server型数据库的方法:一、ASP的对象存取数据库方法在ASP中,用来存取数据库的对象统称ADO〔Active Data Objects〕,主要含有三种对象:Connection、Recordset 、CommandConnection:负责打开或连接数据Recordset:负责存取数据表Command:负责对数据库执行行动查询命令二、连接各数据库的驱动程序连接各数据库可以使用驱动程序,也可以使用数据源,不过我建议大家使用驱动程序,因为使用驱动程序非常方便、简单,而使用数据源比较麻烦。
驱动程序适用数据库类型Microsoft.Jet.OLEDB.4.0 MdbMicrosoft Access Driver AccessMicrosoft dBase Driver DbaseMicrosoft Excel Driver ExcelMicrosoft Visual FoxPro Driver DbcSQLOLEDB.1 SQL srver7.0而我们在一般情况下使用Access的数据库比较多,在这里我建议大家连接Access数据库使用下面的方法:dim connset conn = server.createobject("adodb.connection")conn.open = "provider=microsoft.jet.oledb.4.0;" & "data source = " &server.mappath("../db/bbs.mdb")其中../db/bbs.mdb是你的数据库存放的相对路径!如果你的数据库和ASP文件在同一目录下,你只要这样写就可以了:dim connset conn = server.createobject("adodb.connection")conn.open = "provider=microsoft.jet.oledb.4.0;" & "data source = " & server.map path("bbs.mdb")有许多初学者在遇到数据库连接时总是会出问题,然而使用上面的驱动程序只要你的数据库路径选对了就不会出问题了ASP连接数据库的5种方法第一种 - 这种方法用在ACCESS中最多strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" _& Server.MapPath("aspfree.mdb")set conn = server.createobject("adodb.connection")conn.open strconn第二种-这种方法用在SQL SERVER中多strconn = "Driver={SQL Server};Description=sqldemo;SERVER=127.0.0.1;" _ &"UID=LoginID;Password=;DATABASE=Database_Name"set conn = server.createobject("adodb.connection")conn.open strconn第三种strconn="Driver={Microsoft Access Driver(*.mdb)};" _&"DBQ=F:\Inetpub\wwwroot\somedir\db1.mdb;DefaultDir=" _&"f:\Inetpub\wwwroot\somedir;uid=LoginID;" _&"pwd=Password;DriverId=25;FIL=MSAccess;"set conn = server.createobject("adodb.connection")conn.open strconn第四种运用系统数据源The following uses a Data Source Name: Exampleset conn = server.createobject("adodb.connection")conn.open "Example"第五种运用ODBC数据源,前提是你必须在控制面板的ODBC中设置数据源set rs = server.createobject("adodb.recordset")rs.open "tblname", "DSNName", 3, 3 第一种 - 这种方法用在ACCESS中最多strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" _& Server.MapPath("aspfree.mdb")set conn = server.createobject("adodb.connection")conn.open strconnASP访问数据库的方式有哪些?在ASP中可以通过三种方式访问数据库:1、IDC〔Internet Database Connector〕方式;2、ADO〔ActiveX Data Objects〕方式;3、RDS〔Remote Data Service〕方式。
DBUnit入门级教程
DBUnit数据库单元测试前言(出生地和原因)DBUnit是Junit家族中的一员,是专门用来测试数据库的工具。
本文将对其应用进行一个简单的介绍,帮助学习使用该工具。
DBUnit是对Junit的一个扩展,提供测试子类TestCase(对接触过Junit的人比较熟悉,如果没接触过,只要记住这个类名称就可以了),其关键类继承了Junit 的TestCase,并对其函数进行了重写和接口扩展工作,为对数据库的测试提供了很大的便利。
概述(DBUnit的便利)在数据库测试中,主要是测试程序中写的Query语句是否正确执行的工作。
在以前的实际应用中,在自己进行测试时,需要自己写入数据,执行后需查看数据是否正确,清理不正确数据,然后继续修改数据,已完成Query的正确性。
如果使用数据库IDE可能还会方便一点,但是其简单却繁琐的工作会耽误很多时间。
DBUnit则会帮助你完成这一部分对数据库数据的操作,即提供单元测试框架,并帮助测试者完成对数据的自动写入、正确性验证、数据清理等工作。
当然,你也可以完全脱离测试的目的,使用其里面的方法完成一些其他工作(如数据库数据的自动载入、备份等)。
准备(用到的jar包)使用前除了必须的Junit库之外,还需要其他几个包。
如图1.0图1.0 jar包DBUnit使用了一些日志功能,所以需用到后三个包内的一些方法。
核心(大量的xml文件)既然要对数据库进行自动载入、验证等工作,则必须需要数据。
但是数据从哪里来,这是使用前必须了解的事情。
一些使用DBUnit很长时间的程序猿会评价到:DBunit很好用,就是对xml 文件的操作太多。
从这句话就可以看出,xml文件对该工具的重要性。
没错,我们的数据来源就是xml文件。
一般情况下,对于一个用例,会用到两个xml文件:Query执行前数据库数据和正确执行后的数据库数据。
当然,你也可以加一个数据库备份数据文件,随人而定。
不过在这里提出xml文件可能会对初学者有些干扰,不过不用急,图1.1会先介绍用到的xml的文件结构,还有你只要先知道这些结构并记住,数据都是来自这些文件即可。
ASP中连接数据库的错误解决办法,ASP 编程中 20 个非常有用的例子
/download/info /1701.htm/Program/Asp/112 TM562008.html<%dim ConnStringset conn=server.CreateObject("adodb.connection")ConnString="provider=microsoft.jet.oledb.4.0;data source=" & server.MapPath("#kucun.mdb") conn.open ConnString'连接数据库%>2000下使用asp访问数据库时,在conn.open始终发生8007007f错误,重装IIS和access均得不到解决。
我在网上查到的解决办法是将oledb32.dll 解压到以下两个目录,然后重启服务器:1) C:\WINNT\system32\dllCache2) C:\Program Files\Common Files\System\OLE DB<%dim conn,exec,rsset conn=server.createobject("adodb.connetion")conn.open "driver={microsoft access driver(*.mdb)};dbq="&server.mappath("show.mdb")exec="select * from list"set rs=server.createobject("adodb.recordset")rs.open,exec,conn,1,1%>ASP中连接数据库的错误解决新解决办法Provider 错误80004005 未指定的错误的新解决办法.这两天运行的好好的点击统计程序突然出错了,显示的就是:------------------------------------------Provider 错误80004005未指定的错误------------------------------------------在网上找了一大圈,发现大家提供的办法我都试过了,没有一个有作用的.方法有以下:1.开始运行regsvr32 jscript.dll (命令功能:修复Java动态链接库)开始运行regsvr32 vbscript.dll(命令功能:修复VB动态链接库)开始运行iisreset (命令功能:重启IIS)开始运行msjetoledb40.dll2.给系统临时文件夹%windir%/temp/ 加上IUSR_COMPUTER 用户的读写权限3.ASP连接Access数据库的时候,如果频繁刷新页面,出现80004005 未指定错误,数据库不能连接,但是过大约10多分钟后再刷新就可以连接。
access创建表的四种方法
access创建表的四种方法Access作为一款轻量级关系型数据库管理软件,非常适合小型企业或者小型部门使用。
在Access中,创建表是最基本的操作之一,也是数据库管理的第一步。
本文将介绍四种不同的创建表的方法,帮助用户更好地了解Access的功能。
方法一:使用设计视图创建表在Access的启动画面中,点击“新建空白数据库”,选择保存路径,然后点击创建。
在空白数据库中,选择“创建”--“表格设计视图”。
在表格设计视图中,通过添加和命名每个字段,定义表中的各个属性。
然后保存表格,在保存时需要为表设定一个名称,并保存到所在的数据库中。
方法二:使用向导创建表在Access的启动画面中,点击“新建空白数据库”,选择保存路径,然后点击创建。
在空白数据库中,选择“创建”--“表格向导”。
这个向导将帮助用户创建一个简单的表格。
用户可以选择自己需要的字段,选择数据类型、格式和其他特性,并按照向导的提示完成创建过程。
方法三:使用表格模板创建表在Access的启动画面中,点击“新建空白数据库”,选择保存路径,然后点击创建。
在空白数据库中,选择“创建”--“表格模板”。
在这里,用户可以从预定义的表格模板中选择一个适合自己需求的模板,然后对其进行修改和定制。
用户可以添加或删除字段,更改字段的数据类型以及格式等,并保存为自己的表格。
方法四:使用导入或连接数据创建表在Access的启动画面中,选择“从外部数据源导入或连接数据”。
在这里,用户可以将数据从其他数据库管理软件或者最常见的电子表格软件导入进来,并将其转化为Access表格的格式。
用户可以自定义每个字段的名称、数据类型和其他属性,然后将其保存为Access的表格。
综上所述,Access的四种创建表的方法都十分简单易懂,让用户可以根据自己的实际需求,快速创建出一个合适的表格。
无论是从设计视图开始创建,还是使用预设的模板或向导,或是从其他数据源中导入数据,用户都可以根据自己的需求选择最适合自己的方法,并在稍作修改后轻松创建一个符合自己需求的Access表格。
使用Connection对象连接数据库
<configuration>
<connectionStrings>
<addproviderName="System.Data.SqlClient"
connectionString="server=.;database=dbChooseCourse;uid=ChooseCourse;pwd=ChooseCourse"name="sqlconn"/>
Dispose
在显示释放对象时关闭数据库连接
Open
打开一个数据库连接
表6.2SqlConnection对象常用方法
SqlConnection对象常用方法详解:
Close方法
关闭数据库连接,使用该方法关闭一个打开的连接。
语法:Object.Close
指示是否在关闭之前保存解决方案;如果应该在关闭之前保存解决方案,则为True,否则为False。
</connectionStrings>
</configuonfig文件中与数据库连接的字符串
可以通过一段代码,获取与数据库连接的字符串,并返回SqlConnection类对象。代码如下:
//自定义数据库连接函数
public SqlConnection GetConnection()
属性值:当前数据库的名称或连接打开后要使用的数据库的名称。默认值为空字符串。如果当前数据库发生更改,连接通常会动态更新此属性。
Database属性
在连接打开之后获取当前数据库的名称,或者在连接打开之前获取连接字符串中指定的数据库名。
数据库接口技术——ODBC
ODBC的产生 的产生
PKU
1991年11月,微软宣布了ODBC,次年推出 可用版本. 1992年2月,推出了ODBC SDK 2.0版. ODBC基于SAG的SQL CAE草案所规定的语法, 共分为Core,Level 1, Level 2三种定义, 分别规范了22,16,13共51条命令,其中 29条命令甚至超越了SAG CLI中原有的定义, 功能强大而灵活.它还包括标准的错误代 码集,标准的连接和登录DBMS方法,标准 的数据类型表示等.
数据源的组成
PKU
数据
数据源
网络环境
操作系统
DBMS
ODBC的接口函数 的接口函数
PKU
I. 连接数据源(Connecting to a Data Source)
SQLAllocEnv SQLAllocConnect SQLConnect SQLPriverConnect SQLBrowseConnect
II. 取得驱动程序及数据源的相关讯息
SQLDataSource SQLGetInfo SQLGetFunctions SQLGetTypeInfo.
III. 设定及取得驱动程序的选项
SQLSetConnectOption SQLGetConnectOption SQLSetStmtOption SQLGetStmtOption.
PKU
应用程序
Application
驱动程序管理器
Drive manager
驱动程序
Drive
数据源
Data sourse
应用程序层
PKU
使用ODBC接口的应用程序可执行以下任务: 使用ODBC接口的应用程序可执行以下任务: ODBC接口的应用程序可执行以下任务
ASP连接数据库的11种方法
ASP连接数据库的11种方法ASP连接数据库的11种方法——本文总结了使用ASP链接各种数据库的方法:1.Access数据库的DSN-less连接方法:set adocon=Server.Createobject("adodb.connection")adoconn.Open"Driver={Microsoft Access Driver(*.mdb)};DBQ="& _Server.MapPath("数据库所在路径")2.Access OLE DB连接方法:set adocon=Server.Createobject("adodb.connection")adocon.open"Provider=Microsoft.Jet.OLEDB.4.0;"& _"Data Source=" & Server.MapPath("数据库所在路径")3.SQL server连接方法:set adocon=server.createobject("adodb.recordset")adocon.Open"Driver={SQL Server};Server=(Local);UID=***;PWD=***;"& _"database=数据库名;"4.SQL server OLE DB连接方法:set adocon=Server.Createobject("adodb.connection")adocon.open"provider=SQLOLEDB.1;Data Source=RITANT4;"& _"user ID=***;Password=***;"& _"inital Catalog=数据库名"5.Oracle 连接方法:set adocon=Server.Createobject("adodb.connection")adocon.open"Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;"6.Oracle OLE DB 连接方法:set adocon=Server.Createobject("adodb.connection")adocon.open"Provider=OraOLEDB.Oracle;data source=dbname;user id=admin;password=pass;"7.dBase 连接方法:set adocon=Server.Createobject("adodb.connection")adocon.open"Driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=------------;"8.mySQL 连接方法:set adocon=Server.Createobject("adodb.connection")adocon.open"Driver={mysql};database=yourdatabase;uid=username;pwd=yourpassword;option=16386;"9.Visual Foxpro 连接方法:set adocon=Server.Createobject("adodb.connection")adocon.open"Driver={microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;"10.MS text 连接方法:set adocon=Server.Createobject("adodb.connection")adocon.open"Driver={microsoft text driver(*.txt; *.csv)};dbq=-----;"&_"extensions=asc,csv,tab,txt;Persist SecurityInfo=false;"11.MS text OLE DB 连接方法:set adocon=Server.Createobject("adodb.connection")adocon.open"Provider=microsof.jet.oledb.4.0;data source=your_path;"&_"Extended Properties'text;FMT=Delimited'"<二>常用的四种SQL命令:1.查询数据记录(Select)语法:Select 字段串行From table Where 字段=内容例子:想从book表中找出作者为"cancer"的所有记录,SQL语句便如下:select * from book where author=’cancer’"*"是取出book表所有的字段,如查询的字段值为数字,则其后的"内容"便无须加上单引号,如是日期,则在Access中用(#)包括,而在SQL server中则用(’)包括,如:select * from book where id=1select * from book where pub_date=#2002-1-7# (Access)select * from boo k where pub_date=’2002-1-7’ (SQL Server)提示:日期函数to_date不是标准sql文,不是所有的数据库适用,所以大家在使用的时候要参考数据库具体语法另外如果是查询传入的变量,则如下:strau=request.form("author")strsql="select * from book where author=’"&strau&"’"如果查询的是数字,则:intID=request.form("id")strsql="select * from book where id="&intID在很多数据库中,如:oracle,上面的语句是可以写成:strsql="select * from book where id='"&intID&"'"但是字符型一定不能按照数字格式写,需要注意。
数据库填空题
1. 用二维表结构表示实体以及实体间联系的数据模型为关系模型。
2. SQL语言是关系数据库标准语言。
3. 创建表时,用来说明字段默认值的是DEFAUL T4. 下述SQL语句中,更新表中数据作用的命令动词是UPDATE5. 在SELECTS句中使用“* ”表示选择全部字段。
6. 视图是从一个可以多个基表表中导出的。
7. 数据库的完整性是指数据的正确性和相容性。
8. 要保证数据库的数据独立性,需要修改的是三层模式之间的两种映射。
9. 空值NULL是不知道的、不确定或无法填入的值。
10. 聚合函数用sum来表示。
11. 属性是指实体具有的某种描述。
12. 在一个关系中如果有这样一个属性存在着,它的值能惟一地标识关系中的每一个元组,称这个属性为候选码。
13. 表中可以唯一确定一个元组(一个记录)的某个属性组(字段组)称为主键。
14. 若某个属性组不是关系A主码,但它是另一个关系B的主码,则该属性或属性组称为关系A的外键。
15. 关系模式是对关系的描述,一般表示为关系名(属性名1,属性名2,……,属性名n)。
16. 在关系代数运算中,5种基本运算为并、差、选择、投影、乘积。
17. 设属性A是关系R的主属性,则属性A不能取空值(NULL)。
这是实体完整性规则。
18. 在数据库的三级模式结构中,内模式有1个。
19. 自然连接是构成新关系的有效方法。
一般情况下,当对关系R和S使用自然连接时,要求R和S含有一或是多个共有的属性。
20. 将两个关系拼接成一个新的关系,生成的新关系中包含满足条件的元组,这种操作称为连接。
21. SQL的含义是结构化杳询语言。
22. 数据库系统的组成,除了硬件环境、软件环境、数据库,还包括人员。
23. 数据库系统的核心是数据库。
24. 表由字段和记录组成。
25. 在SQL杳询中使用Where子句指出的是杳询条件。
关系中的每一个属性是不可分解的。
设关系R 和S 的元组个数分别为100和300,关系T 是R 与S 的笛卡尔积,则T 的元组个 数是30000。
Excel数据处理与分析Excel获取外部数据源
EXCEL数据分析与处理第十章CONTENTS 01常用地导入外部数据源地方法02用Microsoft Query 导入外部数据目录Excel不仅可以使用工作簿地数据,还可以访问外部数据库文件。
用户通过执行导入与查询,可以在Excel使用熟悉地工具对外部数据进行处理与分析。
能够导入Excel地数据文件可以是文本文件,MicrosoftAccess数据库,MicrosoftSQLServer数据库,MicrosoftOLAP多维数据集以及dbASE数据库等。
常用地导入外部数据地方法有四种,分别是从文本文件导入数据,从Access 导入数据,自网站获取数据以及使用现有连接地方法导入多种类型地外部数据。
从文本文件导入数据(1),依次单击文件选项卡→打开命令,可以直接导入文件。
使用该方法时,如果文本文件地数据发生变化,不能在Excel体现,除非重新进行导入。
(2),单击数据选项卡,在获取外部数据命令组单击自文本命令,可以导入文本文件。
使用该方法时,Excel会在当前工作表地指定位置上显示导入地数据,同时Excel会将文本文件作为外部数据源,一旦文本文件地数据发生变化,可以在Excel工作表进行刷新操作。
(3),使用MicrosoftQuery。
使用该方法时,用户可以添加查询语句,以选择符合特定需要地记录,设置查询语句需要用户有一定地SQL语句基础。
从Access数据库文件导入数据将Access数据库文件导入数据,可以方便用户使用自己熟悉地软件执行数据分析汇总。
从Access数据库文件导入数据步骤1打开需要导入外部数据地Excel工作簿。
步骤2单击数据选项卡下获取外部数据组地自Access按钮,在弹出地选取数据源对话框,选择文本文件所在路径,选该文件后,单击打开按钮。
可支持地数据库文件类型包括.mdb,.mde,.accdb与.accde四种格式从Access数据库文件导入数据步骤3在弹出地选择表格对话框,选需要导入地表格。
DB2的JDBC连接驱动与URL总结
所以它在一个 DB2 UDB 驱动程序实例中同时支持所有 JAVA 连通性(Type 4 驱动程序)和基于 JNI 的连通性(Type 2 驱动程序)。
该驱动程序可以用于独立 JAVA 应用程序或多层应用程序,是开发人员一个不错的选择。
Type 4 Driver URL Pattern:jdbc:db2://ServerIP:50000/databasename
这当中 ServerIP 是需要访问的数据库所在机器IP地址,databasename 是需要访问的数据库名,DB2 服务器会在默认端口 50000 上进行侦听。
url="jdbc:db2:zfvims"
有两种不同的方法可以区分 DB2 系统在内部最终会实例化哪个驱动程序:
使用不同的 URL Pattern 来区分两种不同的驱动程序
Type 2 Driver URL Pattern:jdbc:db2:databasename
这当中 databasename 是需要访问的数据库名
Type 4:这类驱动程序是纯 JAVA,实现针对特定数据源的网络协议。客户机直接连接至数据源。
下面只讨论JDBC驱动连接DB2数据
第一种:通用连接方式
驱动类:com.ibm.db2.jcc.DB2Driver
JDBC连接URL:jdbc:db2://ServerIP:Port/databasename
说明:这种连接方式不需要DB2 V9开始分离出了客户端和服务器端,先前的版本没有单独的客户端软件,推荐使用这种连接方式。
第二种:客户端软件连接方式
数据库连接参数
String password="mypassword";
Connection conn= DriverManager.getConnection(url,user,password);
8、access数据库直连用ODBC的
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
3、Sql Server7.0/2000数据库
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
2、关闭自动提交功能,提高系统性能
在第一次建立与数据库的连接时,在缺省情况下,连接是在自动提交模式下的。为了获得更好的性能,可以通过调用带布尔值false参数的Connection类的setAutoCommit()方法关闭自动提交功能,如下所示:
conn.setAutoCommit(false);
5、Informix数据库
Class.forName("rmix.jdbc.IfxDriver").newInstance();
String url = "jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;
Statement stmtNew=conn.createStatement() ;
在SQLServer数据库中批量导入数据的四种方法
在SQLServer数据库中批量导⼊数据的四种⽅法在SQL Server数据库中批量导⼊数据的四种⽅法,在软件项⽬实施的时候,数据导⼊⼀直是项⽬⼈员⽐较头疼的问题。
其实,在SQL Server中集成了很多成批导⼊数据的⽅法。
有些项⽬实施顾问头疼的问题,在我们数据库管理员眼中,是⼩菜⼀碟。
现在的重点就是,如何让⽤户了解这些⽅法,让数据导⼊变得轻松⼀些。
第⼀:使⽤Select Into语句若企业数据库都采⽤的是SQL Server数据库的话,则可以利⽤Select Into语句来实现数据的导⼊。
Select Into语句,他的作⽤就是把数据从另外⼀个数据库中查询出来,然后加⼊到某个⽤户指定的表中。
在使⽤这条语句的时候,需要注意⼏个⽅⾯的内容。
⼀是需要在⽬的数据库中先建⽴相关的表。
如想把进销存系统数据库(SQLServer)中的产品信息表(Product)导⼊到ERP系统中的产品信息表(M_Product)中。
则前期是在ERP系统的数据库中已经建⽴了这张产品信息表。
⼆是这种⽅法只复制表中的数据,⽽不复制表中的索引。
如在进销存系统数据中的产品信息表中,在产品编号、产品种类等字段上建⽴了索引。
则利⽤Select Into语句把数据复制到ERP系统的表中的时候,只是复制了数据内容的本⾝,⽽不会复制索引等信息。
三是这条语句使⽤具有局限性。
⼀般情况下,这只能够在SQL Server数据库中采⽤。
不过,对于SQL Server不同版本的数据库,如2008或者2003,还都是兼容的。
若需要导⼊的对象数据库不是SQL Server的,则需要采⽤其他的⽅法。
四是采⽤这条语句的话,在⽬的表中必须不存在数据。
否则的话,⽬的表中的数据会被清除。
也就是说,这个语句不⽀持表与表数据的合并。
在SQL Server中,有⼀条类似的语句,可以实现这个功能。
这条语句就是:Insert Into。
他的作⽤就是把另外⼀张表中的数据插⼊到当前表中。
PB11.5连接数据库主要有以下四种方法
一、使用 SNC SQL Native Client 方式连接数据库
sqlca = create transaction
SQLCA.DBMS = "SNC SQL Native Client(OLE DB)" //接口说明
SQLCA.LogId = "sa" //数据库管理员ID
SQLCA.LogPass = "" //数据库管理员密码
SQLCA.ServerName = "." //数据库服务器名称或者IP地址
SQLCA.DBParm = "Database='techmager'" //要连接的数据库名称
sqlca.autocommit=true //设置是否自动提交
connect using sqlca; //执行数SQLCA.DBMS = "" //接口说明
SQLCA.LogId = "sa" //数据库管理员ID
SQLCA.LogPass = '' //数据库管理员密码
connect using sqlca ; //执行数据库连接
使用 连接数据库方式连接数据库时,客户端电脑需要安装dotNetFramework 运行环境才能成功连接到数据库
四、使用 ODBC连接数据库
SQLCA.DBMS = "ODBC" //接口说明
connect using sqlca; //执行数据库连接
使用ODBC接口方式连接数据库,客户端电脑必须配置ODBC数据源,才能连接数据库
SQLCA.AutoCommit = False //设置是否自动提交
MCGS四种远程通讯方式
GPRS 的资源优势
1) 永远在线, 客户无需为每次数据的访问建立呼叫连接。 2) 高速传输, 目前传送速率可达到40kbit/s。 3) 流量计费, 客户可以一直在线,按照您接收和发送数据包的数 据量来付费。 4) 自如切换, 客户在用移动电话上网冲浪的同时,可以接收语音 电话。
GPRS通讯方式在mcgs中的实现方法
四种远程通讯模式介绍
四种远程通讯方式
1 2 3 4
以太网通讯方式 无线电台方式 GPRS通讯方式 GPRS通讯方式 Modem拨号 Modem拨号
以太网通讯方式
以太网是当今现有局域网采用的最通用 的通信协议标准。该标准定义了在局域 网(LAN)中采用的电缆类型和信号处理 方法。以太网在互联设备之间以 10~100Mbps的速率传送信息包,双绞线 电缆10 Base T以太网由于其低成本、高 可靠性以及10Mbps的速率而成为应用最 为广泛的以太网技术。
GPRS通讯方式拓扑结构
电台通讯方式
无线数传电台作为一种通讯媒介,与光纤、微波、明线一样,有一定 的适用范围:它提供某些特殊条件下专网中监控信号的实时、可靠的 数据传输,适合点多而分散、地理环境复杂等场合。在很多专网领域 有广泛的应用。
电台的特点: 1. 50公里以内不受物理线路的限制。 具有成本低、安装维护方便、绕 射能力强、组网结构灵活、覆盖范围远的特点。 2. 缺点是传输速度慢,空中传输速率较低。易受干扰,误码率高。
Modem远程通讯的相关概念
远程监控相关概念
本地计算机:用于本地操作、查看远程数据信息的计算机。 远程计算机:用于现场数据采集、连接现场设备的计算机。 本地Modem:连接在本地计算机的Modem。 远程Modem:连接在远程计算机或设备的Modem。 通讯设备:使用在现场,带通讯功能(一般指RS232或RS485通讯)的 设备,如通讯仪表,通讯模块,PLC等。
第四章 使用JDBC连接数据库
4.2.2 Connection类
Connection类代表对特定数据库的连接。 在一个Connection的作用范围内,可以执行SQL 语句并返回结果。 1. 打开连接
打开URL=" jdbc:mysql://localhost/coursesystem" 的数据库。连接该数据库的用户名为root,口令为 root。 String url = " jdbc:mysql://localhost/coursesystem"; Connection con = DriverManager.getConnection(url, "root", "root");
第四章 使用JDBC连接数据库
本章主要内容
四种类型的JDBC驱动程序。 JDBC API中几个主要的接口(类)。 通过JDBC访问数据库的7个步骤。 事务操作。
4.1 JDBC概述
4.1.1 JDBC简介 JDBC(Java Database Connectivity,Java数 据库连接)是一个面向对象的应用程序接口 (API),是执行SQL语句的Java API,由一组用 Java语言编写的类与接口组成。 JDBC的最大特点是独立于具体的关系数据库。
4.3.4 创建Statement对象
Statement对象是一个用于发送查询语句并得到结 果集的对象,没有该对象就不能进行数据库的操 作。 由Connection的createStatement()方法创建,一 般使用下面的代码片段: Statement stmt= conn.createStatement();
4) 常见可选参数:
• user: 数据库用户名。 • password: 数据库密码。 • autoReconnect: 数据库连接丢失时,是否自动连接;取值为 true/false,默认为false。 • maxReconnect: 当autoReconnect=true时,此参数为尝试重 新连接次数,默认为3次。 • initialTimeout: 当autoReconnect=true时,此参数为尝试 重新连接前等待的秒数,默认为2秒。 • maxRows: 查询时返回的行数;默认为0,表示全部。 • useUnicode: 是否使用Unicode字体编码;取值为true/false, 默认为false。 • characterEncoding: 当useUnicode=true时,此参数设置为采 用何种编码,取值为GB2312/UTF-8/GBK等。
用ASP.Net(C#)连接Oracle数据库的方法
while(odr.Read())//读取数据,如果odr.Read()返回为false的话,就说明到记录集的尾部了
{
Response.Write(odr.GetOracleString(1).ToString());//输出字段1,这个数是字段索引,具体怎么使用字段名还有待研究
{
System.Data.OracleClient.OracleConnection oracle2=new System.Data.OracleClient.OracleConnection();
string sqlText="select * from scott.tAdmin";
System.Data.OracleClient.OracleDataReader reader;
System.Data.OleDb.OleDbCommand Com=new System.Data.OleDb.OleDbCommand(sqlText,oledb1);
Com.Connection.Open();
reader=Com.ExecuteReader();
DataGrid1.DataSource=reader;
}
odr.Close();
}
catch(Exception ee)
{
Response.Write(ee.Message); //如果有错误,输出错误信息
}
finally
{
conn.Close(); //关闭连接
}
PowerBuilder 9
PowerBuilder 9.0连接数据库主要有以下四种方法一、使用 SNC SQL Native Client 方式连接数据库sqlca = create transactionSQLCA.DBMS = "SNC SQL Native Client(OLE DB)" //接口说明SQLCA.LogId = "sa" //数据库管理员IDSQLCA.LogPass = "" //数据库管理员密码SQLCA.ServerName = "." //数据库服务器名称或者IP地址SQLCA.DBParm = "Database='techmager'" //要连接的数据库名称sqlca.autocommit=true //设置是否自动提交connect using sqlca ; //执行数据库连接使用SNC SQL Native Client 方式连接数据库时,客户端电脑需要安装 SNC SQL Native Client客户端程序驱动接口二、使用OLE DB方式连接数据库SQLCA.DBMS = "OLE DB" //接口说明SQLCA.LogId = "sa" //数据库管理员IDSQLCA.LogPass = "" //数据库管理员密码SQLCA.AutoCommit = False //设置是否自动提交SQLCA.DBParm = "PROVIDER='SQLOLEDB',DATASOURCE='.',PROVIDERSTRING='database=techmager'" //定义连接的参数 DATASOURCE 参数说明数据库服务器地址,可以是计算机名称或者IP ,PROVIDERSTRING='database=techmager' 说明要连接的数据是techmagerconnect using sqlca; //执行数据库连接三、使用 连接数据库SQLCA.DBMS = "" //接口说明SQLCA.LogId = "sa" //数据库管理员IDSQLCA.LogPass = '' //数据库管理员密码SQLCA.AutoCommit = False //设置是否自动提交SQLCA.DBParm = "Namespace='System.Data.SqlClient',DataSource='.',Database= 'techmager'" //定义连接的参数 DATASOURCE 参数说明数据库服务器地址,可以是计算机名称或者IP,database='techmager' 说明要连接的数据是 techmagerconnect using sqlca ; //执行数据库连接使用 连接数据库方式连接数据库时,客户端电脑需要安装dotNetFramework 运行环境才能成功连接到数据库四、使用 ODBC连接数据库SQLCA.DBMS = "ODBC" //接口说明SQLCA.SERVERNAME="." //服务器名称或者IP地址SQLCA.AutoCommit = False //是否自动提交SQLCA.DBParm = "ConnectString='DSN=technology;UID=sa;PWD=zab'" //服务器数据源配置connect using sqlca; //执行数据库连接使用ODBC接口方式连接数据库,客户端电脑必须配置ODBC数据源,才能连接数据库。
jdbc数据库
1引言Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。
JDBC也是Sun Microsystems的商标。
我们通常说的JDBC 是面向关系型数据库的。
2程序类型和API概述程序类型编辑JDBC驱动程序共分四种类型:类型1JDBC-ODBC桥这种类型的驱动把所有JDBC的调用传递给ODBC,再让后者调用数据库本地驱动代码(也就是数据库厂商提供的数据库操作二进制代码库,例如Oracle中的oci.dll)。
类型2本地API驱动这种类型的驱动通过客户端加载数据库厂商提供的本地代码库(C/C++等)来访问数据库,而在驱动程序中则包含了Java代码。
类型3网络协议驱动这种类型的驱动给客户端提供了一个网络API,客户端上的JDBC驱动程序使用套接字(Socket)来调用服务器上的中间件程序,后者在将其请求转化为所需的具体API调用。
类型4本地协议驱动这种类型的驱动使用Socket,直接在客户端和数据库间通信。
JDBC API主要位于JDK中的java.sql包中(之后扩展的内容位于javax.sql 包中),主要包括(斜体代表接口,需驱动程序提供者来具体实现):DriverManager:负责加载各种不同驱动程序(Driver),并根据不同的请求,向调用者返回相应的数据库连接(Connection)。
Driver:驱动程序,会将自身加载到DriverManager中去,并处理相应的请求并返回相应的数据库连接(Connection)。
Connection:数据库连接,负责与进行数据库间通讯,SQL执行以及事务处理都是在某个特定Connection环境中进行的。
可以产生用以执行SQL 的Statement。
Statement:用以执行SQL查询和更新(针对静态SQL语句和单次执行)。
数据库两表连接四种方法
数据库两表连接四种⽅法⼀般我们连接两张表时,都是select xxx,xx from x1,x2 where x1.a=x2.a。
其实数据库还有4中join操作。
例如:表1:students_id name sex1张三男2李四⼥4王五男表2:classc_id id name11111112222222333333342444441.连接查询select s_name,s.sex s_sex, c_namefrom student s,class cwhere s.s_id=c.s_id 结果:s_name s_sex c_name张三男11111李四⼥22222李四男444442.inner joinselect s_name,s.sex s_sex, c_namefrom student s inner join class c on s.s_id=c.s_id 结果:s_name s_sex c_name张三男11111李四⼥22222李四⼥44444可以看出inner join 和我们直接连接查询没什么差别!3.left joinselect s_name,s.sex s_sex, c_namefrom student s left join class c on s.s_id=c.s_id 结果:s_name s_sex c_name张三男11111李四⼥22222李四⼥44444王五男4.right joinselect s_name,s.sex s_sex, c_namefrom student s right join class c on s.s_id=c.s_id 结果:s_name s_sex c_name张三男11111李四⼥2222233333李四⼥444445.full joinselect s_name,s.sex s_sex, c_namefrom student s full join class c on s.s_id=c.s_id 结果:s_name s_sex c_name张三男11111李四⼥2222233333王五男李四⼥44444综上可以看出:普通连接和 inner join连接没什么差别!left join:左表所有⾏都输出,如果找不到右表对应字段,即该字段为null right join:右表所有⾏都输出,如果找不到左表对应字段,即该字段为null full join:左右表⾏全部对应输出,如果找不到对应字段,即为null。
UniDAC使用说明(简单版)1
UniDAC使用说明整理:兵临成下QQ:383530895UniDAC官方网址:/一、连接数据库Connecting to Database1、通用连接属性●Provider第一个就应该设置的属性,指定要连接的数据库类型,根据指定的数据库连接类型不同其它的设置也会发生相应的变化;●Username and Password登录数据的有效用户名和密码;●Server通常将此设成要连接数据库所在的计算机名或IP地址,如果将此属性设置为空,对于MySQL, InterBase连接数据库方式, UniDAC 将试图连接本地(Localhost)。
Oracle:客户端模式下,指定的Server名称一定要出现在tnsnames.ora中,且有效,设置效果如下:with UniConnection1 dobeginProviderName := 'Oracle';Server := 'ORCL';Username := 'username';Password := 'password';end;直连模式(Direct mode)下:在此模式下,运行软件的计算机可以不安装Oracle客户端而连接Oracle数据库,但要做以下设置:1)设置直连模式2)设置Server指定Server格式:Host:Port:SID.注:客户端模式和直连模式的设置不能混淆,否则无法执行。
两种格式严格区分。
效果如下:with UniConnection1 dobeginProviderName := 'Oracle';Server := '192.168.1.113:1521:ORCL';Username := ' Username ';Password := ' Password 3';end;SQL Server:指定要连接的数据库所在的网络IP,且有效,如果采用的不是默认端口(1433),Server 应该这样设置:HostName,PortNumber.●Database这个属性只对SQL Server, MySQL, PostgreSQL, InterBase, and SQLite 连接方式有效,●Port指定TCP/IP协议访问的有效端口MySQL –默认端口 3306PostgreSQL -默认端口5432二、UniDAC(版本:2.7)连接数据库必要文件或局限需求1、Oracle连接Oracle在采用直连模式将受到以下限制:特别要注意的是(包括:应用TUniLoader):1)、应用直连模式,本地执行程序的客户机必须要安装TCP/IP协议2)、注意防火墙3)、数据库的triggers、check constraints、clustered tables、loading of remote objects、user-defined types将得不到支持4)、available, like OBJECT, ARRAY, REF, XML, BINARY_DOUBLE, BINARY_FLOAT这些类型将变为不可用5)、TUniLoader的应用版本应高于Oracle client 8.17以下是英文原文:●triggers are not supported●check constraints are not supported●referential integrity constraints are not supported●clustered tables are not supported●loading of remote objects is not supported●user-defined types are not supported●LOBs must be specified after all scalar columns●LONGs must be specified last●You cannot use TUniLoader in a threaded OCI environment with Oracle client 8.17 orlower.●Connect using the TCP/IP network protocol only.●Some types are not available, like OBJECT, ARRAY, REF, XML, BINARY_DOUBLE,BINARY_FLOAT.●Certain problems may occur when using firewalls.●NLS conversion on the client side is not supported.●Transparent Application Failover is not supported.●Statement caching is not available.●OS authentication and changing expired passwords features are not available.●The DES authentication is used.●Oracle Advanced Security is not supported.●We do not guarantee stability of multithreaded applications. It is highly recommended touse the separate TUniConnection component for each thread when using UniDAC fromdifferent threads.2、SQL Server连接1)提供连接支持服务端: SQL Server 2005 (including Compact and Express editions), SQL Server 2000, SQL Server 7, and MSDE.客户端: SQL OLE DB and SQL Native Client.2)环境需求MDAC(Microsoft Data Access Components)版本不低于2.53、My SQL连接My SQL提供的连接也包括直连和客户端连接方式,默认采用的是直连方式,如果要更改连接方式,在应用程序分发时要带上libmysqld.dll二、Delphi与各数据库数据类型比较Delphi数据类型与各数据库数据类型对比如下表,如有具体说明见表中脚注:Delphi Type Oracle Types SQL Server Types MySQL Types[1]InterBaseTypesPostgreSQLTypesSQLite TyftSmallint NUMBER(p,0)[2](p < 5)SMALLINTTINYINT(M)(M > 1)SMALLINTSMALLINT SMALLINTTINYINTSMALLINTftWord-TINYINT TINYINT(M)UNSIGNED(M > 1)SMALLINTUNSIGNEDYEAR---ftInteger NUMBER(p,0)[2](4 < p < 10)INTMEDIUMINTMEDIUMINTUNSIGNEDINTINTEGER INTEGERINTEGERINTftLargeint NUMBER(p,0)[2](9 < p < 19)BIGINTBITINTUNSIGNEDBIGINTBIGINTUNSIGNEDBIGINT BIGINT BIGINTftFloat NUMBER(p,s)[2]BINARYFLOAT(FLOAT)BINARYDECIMAL(p, s)[3]FLOATREALDECIMAL(p,s)[3]FLOATDOUBLENUMBER(p,s)[3]FLOATDOUBLEPRECISIONDECIMAL[3]REALDOUBLEPRECISIONDECIMAL(s)[3]FLOATDOUBLEPRECISIODOUBLEftBCD NUMBER(p,s)[2](p < 15) and(s < 5)DECIMAL(p, s)[3](p < 15) and (s <5)DECIMAL(p,s)[3](p < 15) and(s < 5)DECIMAL(p,s)[3](p < 15)and (s < 5)DECIMAL[3]DECIMAL[ftFMTBcd NUMBER(p,s)[2](14 < p < 39)and>(4 < s < 39)DECIMAL(p, s)(14 < p < 39) and(4 < s < 39)DECIMAL(p,s)[3](14 < p < 39)and(4 < s < 39)DECIMAL(p,s)[3](14 < p <19) and(4 < s < 19)DECIMAL[3]DECIMAL[ftCurrency-MONEYSMALLMONEY--MONEY MONEYftBoolean-BIT TINYINT[4]BOOL[4]BOOLEAN[4]BOOLEAN BOOLEAN BOOLEANftString VARCHAR2NVARCHAR2VARCHARCHARNCHARRAW[5]INTERVAL DAYTO SECONDINTERVAL DAYTO MONTHROWIDUROWIDCHARVARCHARCHARVARCHARENUMSETBINARY[6]VARBINARY[6]CHARVARCHARCHARVARCHARCHARVARCHARftWideString See note [7]NCHARNVARCHARSee note [7]See note[7]See note[7]See no[7]ftMemo LONGAlso see note[8]TEXTNTEXT[9]TINYTEXTTEXTMEDIUMTEXTLONGTEXTBLOB TEXT TEXTTEXTCLOBftWideMemo See note[10]NTEXT[11]Seenote[10]Seenote[10]Seenote[10]Seenote[10]ftOraClob CLOBNCLOB-----ftBlob LONG RAW IMAGE TINYBLOBBLOBBLOBBINARYBYTEA BLOBMEDIUMBLOB LONGBLOB Spatial Data TypesftOraBlob BLOB---LARGE OBJECT-ftBytes-BINARYTIMESTAMPBINARY---ftVarBytes RAW VARBINARY VARBINARY CHARVARCHAR(CHARSET =OCTETS)-BINARYVARBINARftDate--DATE DATE DATE DATEftDateTime DATE DATE DATETIME TIMESTAMP TIMESTAMP TIMESTAM DATETIMEftTime--TIME TIME TIME TIMEftTimeStamp TIMESTAMPTIMESTAMPWITHTIMEZONE-----ftCursor REF CURSOR---REFCURSOR-ftGuid-UNIQUEIDENTIFIER----ftVariant-SQL_VARIANT----NOT SUPPORTED BFILEOBJECTXMLCURSORXMLTABLE----[1] –如果FieldsAsString 选项被设置True,则除BLOB和TEXT数据类型外,全部做为ftString来处理[2] – Oracle NUMBER数据类型与Delphi数据类型对应方式:if scale equals zero, provider checks values of the specific options to choose the correct Delphi type in the following order:1.1 field precision is less or equal Precision Smallint (default is 4) - uses ftSmallint;1.2 field precision is less or equal Precision Integer (default is 9) - uses ftInteger;1.3 field precision is less or equal Precision LargeInt (default is 18) - uses ftLargeint;if scale is greater than zero, the appropriate Delphi type is chosen using the following sequence of rules:.2.1 field precision is less or equal PrecisionFloat (default is 0) - uses ftFloat;2.2 EnableBCD is True and field precision, scale is less or equal PrecisionBCD (default is 14,4) - uses ftBCD;2.3 EnableFMTBCD is True and field precision, scale is less or equal PrecisionFMTBCD (default is 38,38) - uses ftFMTBCD;2.4 uses ftFloat.[3] - The appropriate Delphi type is chosen using the following sequence of rules:EnableBCD is True and field precision, scale is less or equal 14,4 - uses ftBCD; EnableFMTBCD is True - uses ftFMTBCD;uses ftFloat.[4] - If the EnableBoolean option is True[5] - If the RawAsString option is True[6] - If the BinaryAsString is True[7] - If the UseUnicode option is True, all server types mapped to ftString will be mapped to ftWideString.[8] - If the LongStrings option is False, and the field length is greater than 255, all server types mapped to ftString will be mapped to ftMemo.[9] - For all Delphi versions prior to BDS 2006.[10] - If the UseUnicode option is True, in BDS 2006 and later versions all server types mapped to ftMemo will be mapped to ftWideMemo.[11] - For BDS 2006 and higher IDE versions.三、UniDAC更新数据1、数据自动更新TUniTable、TUniQuery和TUniStoredProc是用来检索和编辑数据的UniDAC控件,四、主从关系表五、存储过程1、TUniConnection, TUniSQL, TUniQuery, TUniStoredProc均可以执行存储过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
}
private static DataSourcePool pool = new DataSourcePool();
//创建对象就初始化size个数据库连接
private DataSourcePool(){
if(list.size()>0){
//取到连接,即从list中弹出一个Connection 连接
final Connection conn = list.pop();
//动态代理,返回一个代理对象
return (Connection) Proxy.newProxyInstance(DataSourcePool.class.getClassLoade(), conn.getClass().getInterfaces(), new InvocationHandler(){
for(int i=0;i<size;i++){
try {
Connection conn = DriverManager.getConnection(url, username, password);
package ngzi.jdbc.DataSource;
import java.io.InputStream;
import java.io.PrintWriter;
import ng.reflect.InvocationHandler;
throws SQLException {
// TODO Auto-generated method stub
return null;
}
@Override
public PrintWriter getLogWriter() throws SQLException {
// TODO Auto-generated method stub
if(method.getName().equals("close")){
list.push(conn);
return null;
}
return method.invoke(conn, args);
import javax.sql.DataSource;
public class DataSourcePool implements DataSource {
private static String url = null;
private static String username = null;
private static String password = "123456";
private static Connection conn = null;
static{
try {
//注册驱动
}
@Override
public boolean isWrapperFor(Class<?> iface) throws SQLException {
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public static Connection getConnection() throws SQLException{
private static String password = null;
private static int size = 10;
private static LinkedList<Connection> list = new LinkedList<Connection>();
一、环境
1、数据库驱动jar文件
2、DBCP方法
Commons-dbcp.jar:连接池的实现
Commons-pool.jar:连接池实现的依赖库
资源文件
3、c3p0方法:
c3p0-0.9.1.2.jar
配置文件:c3p0-config.xml
二、连接操作
"cn/langzi/jdbc/DataSource/DBConnection.properties");
Properties prop = new Properties();
prop.load(in);
conn = DriverManager.getConnection(url, username, password);
return conn;
}
}
2.使用DataSource子类方法;
资源文件DBConnection.properties
return null;
}
@Override
public int getLoginTimeout() throws SQLException {
// TODO Auto-generated method stub
return 0;
}
@Override
public void setLogWriter(PrintWriter out) throws SQLException {
import ng.reflect.Method;
import ng.reflect.Proxy;
import java.sql.Connection;
import java.sql.DriverManager;
// TODO Auto-generated method stub
}
@Override
public void setLoginTimeout(int seconds) throws SQLException {
// TODO Auto-generated method stub
System.out.println(conn);
list.add(conn);
} catch (SQLException e) {
e.printStackTrace();
import java.sql.SQLException;
import java.util.LinkedList;
import java.util.Properties;
import javax.sql.DataSource;
}
});
}
//连接用完
throw new RuntimeException("对不起,服务器繁忙!!!");
}
@Override
public Connection getConnection(String username, String password)
password = prop.getProperty("password");
} catch (Exception e) {
throw new ExceptionInInitializerError(e);
// 不要把conn = DriverManager.getConnection(url, username, password);
//放在这里。防止所有用户都用一个Connection
Class.forName(driverClass);
static{
try {
InputStream in = DataSourcePool.class.getClassLoader()
.getResourceAsStream(
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
//如果Connection调用的是close方法就将连接返回给数据连接池
private static String driverClass = "com.mysql.jdbc.Driver";
private static String url = "jdbc:mysql://localhost:3306/test";
private static String username = "root";
driverClass = com.mysql.jdbc.Driver
url = jdbc:mysql://localhost:3306/test
username = root
password = 123456
模拟数据连接池 DataSourcePool.java
1.DriverManager方法;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBConnection {
Class.forName(prop.getProperty("driverClass"));
url = prop.getProperty("url");
username = prop.getProperty("username");
}
}
}
public static DataSourcePool getInstance(){
return pool;
}
@Override