金色的骷髅 发表于 2015-1-16 22:26:49

MSSQL网页编程之ODBC 基本

如果WHERE子句的查询条件里使用比较操作符LIKE和REGEXP,MySQL只有在搜索模板的第一个字符不是通配符的情况下才能使用索引。比如说,如果查询条件是LIKEabc%‘,MySQL将使用索引;如果查询条件是LIKE%abc’,MySQL将不使用索引。odbcODBC基本
这是利用win32asm举行数据库编程系列的第一份教程。在现在的IT界,数据库编程变的愈来愈主要,以是我们不克不及再无视它。但现在有良多种数据库在利用,假如我们为了完成win32下数据库汇编言语编程而进修各类数据库文件格局,所花工夫也许称得上“永久”。

侥幸的是,Microsoft的一项手艺使得我们得以挣脱这个年夜贫苦。它被称为ODBC,是开放式数据库互连(OpenDatabaseConnectivity)的缩写,这是一族API,与WindowsAPI类似。它次要与数据库打交道。就是说,使用ODBCAPI,你可经由过程一致界面亲睦多各不不异的数据库打交道。

ODBC是怎样事情的?它的布局式如何的?在利用ODBC之前,你应对它的布局有一个分明的懂得。ODBC有四个构成部分:
使用程序(Application,你的程序)ODBC办理器(ODBCmanager)ODBC驱动程序(ODBCDrivers)数据源(DataSources,数据库)
这四个组件的中心是ODBC办理器。你可把它设想成你的监工。你告知它你但愿他作甚么,然后它把你的请求转达给它的工人(ODBC驱动程序)并完成事情。假如工人有甚么想告知你的,它会与监工(ODBC办理器)说,由监工转达给你。工人们很分明他们应作甚么,因而他们会为你很好的完成事情。

经由过程如许的形式,我们其实不与数据库驱动程序间接通讯。你只需告知数据库办理器你想要做甚么。而利用得当的ODBC驱动程序来完成你的目标则是ODBC办理器的事。每一个ODBC驱动程序关于它所对应的数据库均有充足懂得。各部件各司其职,极年夜的简化了事情量。

你的程序<---->ODBC办理器<---->ODBC驱动程序<---->数据库

ODBC办理器由Microsoft供应。看一下你的把持面板。假如你准确地安装了ODBC你会找到ODBC数据源(32位)项目。至于ODBC驱动程序,Microsoft随他们的产物供应了好几种。而且你总可从数据库供应商那边取得新的ODBC驱动程序。只需复杂地安装新的ODBC驱动程序,你的呆板便可利用新的它之前不晓得的数据库。

ODBCAPIs利用很复杂,但你必要晓得一些关于SQL和数据库的常识。比方字段(field),主键(primarykey),纪录(record),列(column),行(row)等。我须假定你已晓得数据库实际的一些基本常识,如许我才干会商win32下用汇编言语举行ODBC编程的细节成绩。正如你所看到的,ODBC办理器试图在你的程序里埋没完成的细节。这意味着它必需供应某些基础界面来与你的程序和ODBC驱动程序举行通信。因为ODBC驱动程序在某些功能方面存在着差别,因而必需存在一种办法,以使得我们的程序可以晓得某个ODBC驱动程序是不是撑持某一特征。ODBC界说了被称为InterfaceConformanceLevels的三层服务界面。第三层是中心层。任何ODBC驱动程序都要象在第一层和第二层完成功效一样完成中心层表中的一切特征。从我们的程序的目光来看,ODBCAPIs被支解为如许的三层。假如某个函数被标为中心的,就意味着你可宁神利用而不用忧虑它是不是为你正利用的ODBC驱动程序撑持。假如它是一个第一层或第二层的函数,你就得确认ODBC驱动程序是不是撑持,然后再利用。你可经由过程MSDN取得ODBCAPIs的具体材料。

在编写代码之前你应懂得一些ODBC的名词。
情况(Environment).和字面意义一样,是一个全局文本用来存取数据。假如你熟习DAO的话,你可把它设想为一个workspace。它包括使用于一切ODBCsession的信息,比方一个session的connections句柄。在用ODBC之前你必需从情况中取得这个句柄。毗连(Connection).指定ODBC驱动程序和数据源(数据库)。你能够在统一情况中同时毗连分歧的数据库语句(Statement).ODBC利用SQL作为本人的言语。因此只需复杂的以为语句就是你但愿ODBC实行的SQL命令就好了。
以下是利用ODBC编程的一样平常步骤:
毗连数据源创立并实行一条或多条SQL语句反省了局纪录(假如有的话)断开数据源
在接上去的教程中我们来进修怎样来完成这几步。
修复过程包含最多4个阶段,在下面描述。在你开始前,你应该cd到数据库目录和检查表文件的权限,确保他们可被运行mysqld的Unix用户读取(和你,因为你需要存取你正在检查的文件)。如果它拒绝你修改文件,他们也必须是可被你写入的。

因胸联盟 发表于 2015-1-19 12:44:11

个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。

若相依 发表于 2015-1-28 07:10:45

数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。

深爱那片海 发表于 2015-2-5 19:38:47

从项目平台的选择上讲,我们关心的,应该是一款产品能不能满足任务需求,而不是网上怎么说。

透明 发表于 2015-2-13 09:41:00

比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。

谁可相欹 发表于 2015-3-3 19:51:59

having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。

灵魂腐蚀 发表于 2015-3-11 13:19:36

相信各位对数据库和怎么样学习数据库都有一些经验和看法,也会有人走了一些弯路总结出自己的经验来,希望大家能把各自的看法和经验拿出来分享,给别人一份帮助,给自己一份快乐

山那边是海 发表于 2015-3-18 20:45:40

分区表是个亮点!从分区表也能看出微软要做大作强SQLServer的信心。资料很多,这里不详细说。但是重点了解的是:现在的SQLServer2005的表,都是默认为分区表的。因为它要支持滑动窗口的这个特性。这种特性对历史数据和实时数据的处理是很有帮助的。

分手快乐 发表于 2015-3-26 16:34:11

我们学到了什么?思考问题的时候从表的角度来思考问
页: [1]
查看完整版本: MSSQL网页编程之ODBC 基本