蒙在股里 发表于 2015-1-16 22:27:52

MSSQL教程之Odbc连SQL Server数据库的几种办法

使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性odbc|server|数据|数据库
Odbc连SQLServer数据库的几种办法



这篇文章是针对在CSDN论坛中的一些想晓得这方面手艺的网友而写的。由于比来我自己在论坛上看到良多网友提到这个成绩,以是就写了这篇文章,以飨读者。

SQLServer是一种高效的干系数据库体系,它与WindowsNT/2000及Windows9x等操纵体系严密集成。也是明天市场上几种年夜型干系型数据库(SQLServerOracleybase等)之一。关于明天庞大的B/S服务器体系来讲,SQLServer是一个很好的选择。

1、先创建一个用来测试的数据库DB_Test

第一步:启动SQLServer7.0数据库,进进“SQLServerEnterpriseManager“办理界面,右键点击[服务器名]选择[新键]进进”DatabasePorperties“界面。如所示。





第二步:在中的“Name“里输出数据库名DB_Test。在”Automatically“后面的复选框里打勾,即便SQLServer可以主动地按必要增添数据库文件的巨细。单击“断定”完成数据库的创立。

2、接上去就以我们创立好的DB_Test数据库为例,讲如何用Odbc连SQLServer数据库的几种办法。

ASP剧本中能够经由过程三种体例会见数据库:
●IDC(InternetDatabaseConnector)体例
●ADO(ActiveXDataObjects)体例
●RDS(RemoteDataService)体例

1.Internet数据库接口(IDC)
IDC是一个传统的数据库查询工具,用来界说和实行数据库查询的SQL命令,并向扫瞄器前往一个指定命据格局的页面。利用IDC会见数据库最年夜的特性是复杂,几近不必要编程就可以完成对数据库的会见。不外,明天很少利用IDC体例来毗连数据库,以是我在这里就不形貌了。

2.ActiveX数据工具(ADO)

ADO(ActiveXDataObject),是一组优化的会见数据库的公用工具集,它为ASP供应了完全的站点数据库办理计划,它感化在服务器端,供应含无数据库信息的主页内容,经由过程实行SQL命令,让用户在扫瞄器画面中输出,更新和删除站点数据库的信息。ADO的次要长处是易用、高速、占用内存和磁盘空间少,以是十分合适于作为服务器真个数据库会见手艺。
ADO次要包含Connection,Recordset和Command三个工具,它们的次要功效以下:
  Connection工具:卖力翻开或毗连数据库文件;
  Recordset工具:存取数据库的内容;
  Command工具:对数据库下达举动查询指令,和实行SQLServer的存储历程。

使用ADO组件毗连数据库有两种体例:

1、间接毗连数据库体例

<%

DimConn,strConn

SetConn=Server.CreateObjec(“ADODB.Connection”)

strConn=”Driver={SQLServer};Server=ServerName;”&_

“Uid=UserName;Pwd=Password;”&_

“DataBase=DatabaseName”

Conn.OpenstrConn,1,1

%>

2、创立数据源名(DSN)体例

设置ODBC数据源有三品种型,就是用户数据源、体系数据源和文件数据源。数据源名(DSN),依据MICROSOFT的官方文档,DSN的意义是“使用程序用以哀求一个连到ODBC数据源的毗连(CONNECTION)的名字”,也就是说,它是一个代表ODBC毗连的标记。一个DSN设置好了,它就已蕴涵诸如数据库文件名、地点目次、数据库驱动程序、用户ID、暗码等项目。因而,当创建一个毗连时,你不必往思索数据库文件名、它在哪儿等等,只需给出它在ODBC中的DSN便可。上面给出了创立DSN的全历程。(以WIN2000操纵体系,设置体系DSN为例)

在“把持面板”中双击“办理工具“―>双击“ODBC”图标,进进“ODBC数据源办理器“界面。选择”体系DSN“页,进进”创立新数据源“界面,如。



然后选择驱动程序为“SQLServer“,如所示。按[完成]进进”创立到SQLSERVER的新数据源“界面,输出称号为”SJY”,形貌,服务器。如所示。



后按[下一步]。按默许设置再按[下一步],在”变动默许的数据库“选项前的复选框中打勾,选择你的数据库。如所示。



按[下一步],保存默许,对后按[完成],就如许,一个数据源sjy创建好了。

上面是经由过程数据源毗连数据库的代码,为了数据库的平安起见,我们在Golbal.asa文件里写毗连代码,然后在页面上挪用。

<SCRIPTLANGUAGE="VBSCRIPT"RUNAT="SERVER">

SubApplication_onStart

Application("ConnectDataSourceString")="DSN=sjy;UID=sa;PWD=;"

SubApplication_onEnd

Endsub

</Script>

在ASP页面上挪用

<%

Dimconn,strconn

Setconn=Server.CreateObjec(“ADODB.Connection”)

Conn.openApplication("ConnectDataSourceString")

%>

3、远程数据服务(RDS)

ADO固然可以供应十分壮大的数据库会见功效,可是它不撑持数据远程操纵(DataRemoting)。而RDS就比ADO更进一步,它撑持数据远程操纵。它不但能实行查询并前往数据库查询了局,并且这类了局是“静态的”,服务器上的数据库与客户端看到的数据坚持“活的毗连干系”。即把服务器真个数据搬到客户端,在客户端修正数据后,挪用一个数据库更新命令,就能够将客户端对数据的修正写回数据库,就象利用当地数据库一样。

因为RDS与ADO集成,RDS的底层是挪用ADO来完成的,以是也能够将RDS了解为ADO的RDS,即ActiveX数据工具的远程数据服务。RDS在ADO的基本上经由过程绑定的数据显现和操纵控件,供应给客户端更强的数据体现力和远程数据利用功效。能够说RDS是今朝基于Web的最好的远程数据库会见体例。

3、总结:

本文报告了ASP会见数据库的三种体例,它们三者各有各的特征。IDC非常复杂,利用.idc文件和.htx文件分离完成数据库的会见与输入义务,可是利用起来不天真。ADO是ASP中保举利用的体例,它功效壮大,利用便利,是ASP的中心手艺之一,可是它在供应用户远程操纵数据库的功效时,对照庞大,完成起来有必定的难度。而RDS是基于ADO的,并供应远程操纵数据库的壮大工具。以是在必要供应高功能、高牢靠性的远程数据操纵功效时,RDS是更加幻想的选择。
MySQL的海豚标志的名字叫“sakila”,它是由MySQLAB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者AmbroseTwebaze提供。

小女巫 发表于 2015-1-17 23:41:46

而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~

灵魂腐蚀 发表于 2015-1-21 10:59:15

groupby子句可以将查询结果分组,并返回行的汇总信息Oracle按照groupby子句中指定的表达式的值分组查询结果。

乐观 发表于 2015-2-6 13:59:46

另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);

admin 发表于 2015-2-16 09:49:21

如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。

若天明 发表于 2015-3-11 23:15:48

如果你是从“学习某一种数据库应用软件,从而获得应聘的资本和工作机会”的角度来问的话。

变相怪杰 发表于 2015-3-19 16:00:47

我们学到了什么?思考问题的时候从表的角度来思考问

莫相离 发表于 2015-3-29 00:49:10

相信各位对数据库和怎么样学习数据库都有一些经验和看法,也会有人走了一些弯路总结出自己的经验来,希望大家能把各自的看法和经验拿出来分享,给别人一份帮助,给自己一份快乐
页: [1]
查看完整版本: MSSQL教程之Odbc连SQL Server数据库的几种办法