汽修软件-汽配软件-汽修厂用首佳汽修汽配管理软件系统管理汽修厂

2007年04月5日

SQL性能优化:提高SQL性能的措施!

类归于: 其它软件技术分享 — 标签:, , — 汽修汽配管理软件 @ 2:04 上午

转摘自:http://www.meiwa.cc/essential/detail.aspx?id=264&f=a&userName=

一、问题的提出
在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣, 但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是 SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能实现其功能就可,而是要写 出高质量的SQL语句,提高系统的可用性。

在多数情况下,Oracle使用索引来更快地遍历表,优化器主要根据定义的索引来提高性能。但是,如果在SQL语句的where子句中写的SQL代 码不合理,就会造成优化器删去索引而使用全表扫描,一般就这种SQL语句就是所谓的劣质SQL语句。在编写SQL语句时我们应清楚优化器根据何种原则来删 除索引,这有助于写出高性能的SQL语句。

二、SQL语句编写注意问题
下面就某些SQL语句的where子句编写中需要注意的问题作详细介绍。在这些where子句中,即使某些列存在索引,但是由于编写了劣质的SQL,系统在运行该SQL语句时也不能使用该索引,而同样使用全表扫描,这就造成了响应速度的极大降低。

1. IS NULL 与 IS NOT NULL
不能用null作索引,任何包含null值的列都将不会被包含在索引中。即使索引有多列这样的情况下,只要这些列中有一列含有null,该列就会从索引中排除。也就是说如果某列存在空值,即使对该列建索引也不会提高性能。

任何在where子句中使用is null或is not null的语句优化器是不允许使用索引的。

2. 联接列

对于有联接的列,即使最后的联接值为一个静态值,优化器是不会使用索引的。我们一起来看一个例子,假定有一个职工表(employee),对于一个 职工的姓和名分成两列存放(FIRST_NAME和LAST_NAME),现在要查询一个叫比尔.克林顿(Bill Cliton)的职工。

下面是一个采用联接查询的SQL语句,

select * from employss
where
first_name||\’\'||last_name =\’Beill Cliton\’

上面这条语句完全可以查询出是否有Bill Cliton这个员工,但是这里需要注意,系统优化器对基于last_name创建的索引没有使用。

当采用下面这种SQL语句的编写,Oracle系统就可以采用基于last_name创建的索引。

Select * from employee
where
first_name =\’Beill\’ and last_name =\’Cliton\’

遇到下面这种情况又如何处理呢?如果一个变量(name)中存放着Bill Cliton这个员工的姓名,对于这种情况我们又如何避免全程遍历,使用索引呢?可以使用一个函数,将变量name中的姓和名分开就可以了,但是有一点需 要注意,这个函数是不能作用在索引列上。下面是SQL查询脚本:

select * from employee
where
first_name = SUBSTR(\’&&name\’,1,INSTR(\’&&name\’,\’ \’)-1)
and
last_name = SUBSTR(\’&&name\’,INSTR(\’&&name’,\’ \’)+1)

3. 带通配符(%)的like语句

同样以上面的例子来看这种情况。目前的需求是这样的,要求在职工表中查询名字中包含cliton的人。可以采用如下的查询SQL语句:

select * from employee where last_name like \’%cliton%\’

这里由于通配符(%)在搜寻词首出现,所以Oracle系统不使用last_name的索引。在很多情况下可能无法避免这种情况,但是一定要心中有 底,通配符如此使用会降低查询速度。然而当通配符出现在字符串其他位置时,优化器就能利用索引。在下面的查询中索引得到了使用:

select * from employee where last_name like \’c%\’

4. Order by语句

ORDER BY语句决定了Oracle如何将返回的查询结果排序。Order by语句对要排序的列没有什么特别的限制,也可以将函数加入列中(象联接或者附加等)。任何在Order by语句的非索引项或者有计算表达式都将降低查询速度。

仔细检查order by语句以找出非索引项或者表达式,它们会降低性能。解决这个问题的办法就是重写order by语句以使用索引,也可以为所使用的列建立另外一个索引,同时应绝对避免在order by子句中使用表达式。

5. NOT

我们在查询时经常在where子句使用一些逻辑表达式,如大于、小于、等于以及不等于等等,也可以使用and(与)、or(或)以及not(非)。NOT可用来对任何逻辑运算符号取反。下面是一个NOT子句的例子:

… where not (status =\’VALID\’)

如果要使用NOT,则应在取反的短语前面加上括号,并在短语前面加上NOT运算符。NOT运算符包含在另外一个逻辑运算符中,这就是不等于(<>)运算符。换句话说,即使不在查询where子句中显式地加入NOT词,NOT仍在运算符中,见下例:

… where status <>\’INVALID\’

再看下面这个例子:

select * from employee where salary<>3000;

对这个查询,可以改写为不使用NOT:

select * from employee where salary<3000 or salary>3000;

虽然这两种查询的结果一样,但是第二种查询方案会比第一种查询方案更快些。第二种查询允许Oracle对salary列使用索引,而第一种查询则不能使用索引。

6. IN和EXISTS

有时候会将一列和一系列值相比较。最简单的办法就是在where子句中使用子查询。在where子句中可以使用两种格式的子查询。

第一种格式是使用IN操作符:

… where column in(select * from … where …);

第二种格式是使用EXIST操作符:

… where exists (select \’X\’ from …where …);

我相信绝大多数人会使用第一种格式,因为它比较容易编写,而实际上第二种格式要远比第一种格式的效率高。在Oracle中可以几乎将所有的IN操作符子查询改写为使用EXISTS的子查询。

第二种格式中,子查询以‘select \’X\’开始。运用EXISTS子句不管子查询从表中抽取什么数据它只查看where子句。这样优化器就不必遍历整个表而仅根据索引就可完成工作(这里假定 在where语句中使用的列存在索引)。相对于IN子句来说,EXISTS使用相连子查询,构造起来要比IN子查询困难一些。

通过使用EXIST,Oracle系统会首先检查主查询,然后运行子查询直到它找到第一个匹配项,这就节省了时间。Oracle系统在执行IN子查 询时,首先执行子查询,并将获得的结果列表存放在在一个加了索引的临时表中。在执行子查询之前,系统先将主查询挂起,待子查询执行完毕,存放在临时表中以 后再执行主查询。这也就是使用EXISTS比使用IN通常查询速度快的原因。

同时应尽可能使用NOT EXISTS来代替NOT IN,尽管二者都使用了NOT(不能使用索引而降低速度),NOT EXISTS要比NOT IN查询效率更高。

Update You Set You.Sadness=Me.Happiness From You,Me

2007年03月9日

MS SQL的ISQL命令详解

类归于: 其它软件技术分享 — 标签:, , , — 汽修汽配管理软件 @ 8:04 下午

今天转换一个数据库,刚好要用到ISQL来装载几个触发器和存储过程的SQL文件,顺便写下这些文字以分享。

MS SQL有简单方便又高效的管理界面,还用ISQL干什么?什么是ISQL工具?ISQL是用于交互式执行Transact-SQL语句和脚本的数据库工具,ISQL同微软的OSQL是差不多的工具。比如做一些高级的配置,还比如在客户端或远程执行数据库操作等工作时,ISQL是很方便的。比如入侵一台有SQL服务的主机,入侵SQL Server后都能干什么?最好的工具的就是ISQL了。

不光是微软的SQL支持ISQL,还有Sybase的Enterprise版本的数据库也支持,Sybase的Unix版本,ISQL等工具更是有用武之地了。ISQL依赖DB-Library API的应用程序不支持 SQL Server 2000 版的某些功能。例如,isql无法访问用ntext数据类型定义的列,并截断任何超过255字节的char、varchar、nchar 或 nvarchar 列。它也无法检索XML 文档形式的结果。除了isql中的这些限制外,osql和isql 支持相同的功能。

isql命令的参数详解:
isql [-U login id] [-P password] [-S server]
isql [-?] | [-L] | [
{ {-U login_id [-P password]} | -E }
[-S server] [-H hostname] [-d use database name]
[-l time_out] [-t time_out] [-h headers]
[-s col_separator] [-w column_width] [-a packet_size]
[-e] [-x max_text_size] [-c cmd_end] [-q "query"] [-Q "query"]
[-n] [-m error_level] [-r {0 | 1}]
[-i input file] [-o output file] [-p] [-b] [-O] ]

所有参数要区分大小写,在使用尤其要注意。
-?显示 isql 开关的语法摘要。
-L列出在本地配置的服务器和在网络上广播的服务器的名称。
-U login_id用户登录 ID。登录 ID 区分大小写。
-P password 是用户指定的密码。如果未使用-P 选项,isql 将提示输入密码。如果在命令提示的末尾使用 -P 选项而不带密码,isql 使用默认密码NULL)。密码区分大小写。
-S server_name 指定要连接到的 SQL Server 默认实例。如果未指定服务器,isql 将连接 到本地计算机上的 SQL Server 默认实例。如果要在网络上从远程计算机执行 isql,则需要此选项。
-H hostname 是使用的客户端的主机名称。工作站名称存储在 sysprocesses.hostname 中并由 sp_who 显示。如果未指定,则采用当前计算机名称。用这个可以欺骗SQL Server中进程信息中显示的主机名。
-d use database name,用于指定使用数据库名。
-i input file,用于指定装载的SQL语句文件。当你不想输入太多SQL语句时,你可以写好在一个文件,用这个参数,作为批处理来执行。

以上这些基本上足够用了,下面以服务器ABC为例,用户名sa,密码为了空,用ISQL登录数据库DB:
ISQL -U sa -P -S ABC -d DB
连接成功的话,在“1>”后面输入SQL语句,回车,第二行输入go回车,就执行了上一句SQL语句。
SQL语句可以分多行输入,直到你执行“go”提交后才执行SQL语句。
quit可以退出当前交互式命行模式。

来自:管理软件资讯博客

2007年02月4日

两个关联表如何更新其中一个表的数据?

类归于: 其它软件技术分享 — 标签:, — 汽修汽配管理软件 @ 12:02 上午

开通了PB开发技术专栏,但是工作忙没写什么东西,今天刚巧遇到一问题,把它写下来,如果有写程序的朋友可以借鉴。

今天遇到一个客户的数据更新问题,两个相关联的表,一个主表用于保存单据主要信息,一个副表用于保存单据的明细信息;现在要把主表的其中一个字段的数据更新到副表的一个字段中保存。精通的SQL语法的,当然是很简单了。下面我作个详细的说明。

假设A表是主表,有单号order_id、开单人operator、开单日期oper_date、备注memo等;B表是副表,有单号order_id、序号id、商品编码code、商品名称name、备注memo等。A表的备注是有数据的,B表的备注没有数据,现在要把A表的数据更新到B表,并且B表有数据的不能更新了。A表与B表是以单号来关联的。更新数据的SQL语法如下:
update  B  set B.memo=A.memo  from  B,A
where A.order_id=B.order_id and (B.memo is null or B.memo=\’\');

A、B表的order_id是索引,而且是关联字段,所以要放在Where条件作为第一条件。B表的备注为空值,或等于没有值的,才能更新。

Pb开技术类文章原创

2006年12月19日

Adaptive Server Anywhere 9.0之ODBC配置对话框详解

类归于: 其它软件技术分享 — 标签:, , , — 汽修汽配管理软件 @ 6:05 上午

1、[ODBC 配置] 对话框:[ODBC] 选项卡

只有当您创建或修改 ODBC 数据源时才会显示此选项卡。

[ODBC 配置] 对话框的 [ODBC] 选项卡具有以下组件:

数据源名    

键入一个名称来标识此 ODBC 数据源。对于该数据源,您可以使用任何描述性名称(允许使用空格),但是建议您将该名称设置得简短些,因为您需要在连接字符串中输入它。

说明    

您可以提供数据源的说明。此说明可以帮助您或您的最终用户在可用数据源列表中确定此数据源。这是一个可选字段。

隔离级别    

键入一个数字值指定此数据源的初始隔离级别:

  • 0     这也称为读取未提交的隔离级别。这是缺省隔离级别。它提供最大并发级别,但可以在结果集中看到脏读行、非可重复读取行和幻像行。
  • 1     这也称为读取已提交的级别。它提供的并发级别低于级别 0,但消除了级别 0 时结果集中存在的一些不一致。可能出现非可重复读取行和幻像行,但禁止脏读行。
  • 2     这也称为可重复读取级别。可能出现幻像行。禁止脏读行和非可重复读取行。
  • 3     这也称为可序列化级别。这提供最低的并发级别,是最严格的隔离级别。禁止脏读行、非可重复读取行和幻像行。

Microsoft 应用程序(SQLStatistics 中的关键字)    

如 果希望 SQLStatistics 函数返回外键,则选择此选项。ODBC 说明指出 SQLStatistics 不应当返回主键和外键;但是,某些 Microsoft 应用程序(例如 Visual Basic 和 Access)假定主键和外键是由 SQLStatistics 返回的。

Delphi 应用程序    

如果您使用 Borland Delphi 应用程序开发工具创建产生数据源的应用程序,则选择此选项。

如果选中该选项,则向每一行都指派一个书签值,而不是另外指派两个(一个用于向前读取,另一个用于向后读取)。

Delphi 不能处理一行的多个书签值。如果清除该选项,则可滚动游标的性能可能会受到影响,因为总是必须从游标的开始位置滚动到请求的行才能获得正确的书签值。

不显示读取警告    

如果不想显示读取过程中从数据库服务器返回的警告消息,则选择此选项。

在进行读取时,数据库服务器 8.0 版或更高版本与其先前版本相比,会返回范围更广的警告消息。对于用该软件较早版本部署的应用程序,您可以选择此选项以确保正确处理读取警告。

防止 [驱动程序不支持] 错误    

Adaptive Server Anywhere ODBC 驱动程序返回 Driver not capable(驱动程序不支持)错误,因为它不支持限定符。某些 ODBC 应用程序不能正确处理该错误。选择此选项防止返回此错误代码,从而使这些应用程序能够正常工作。

延迟自动提交直到语句关闭    

选择此选项延迟提交操作直到语句关闭。

描述游标行为    

选择您希望在执行一个过程时游标被重新描述的频率。缺省设置为 [根据需要]。

  • 从不     如果您知道游标不需要进行重新描述,则选择此选项。重新描述游标代价较高并且会降低性能。
  • 根据需要     选中此选项,ODBC 驱动程序将决定是否必须重新描述游标。过程中的 RESULT 子句可避免 ODBC 应用程序在游标打开后重新描述结果集。这是缺省设置。
  • 始终     在每次打开游标时都重新描述它。如果您使用 Transact-SQL 过程或返回多结果集的过程,那么每次打开游标时都必须重新描述。

转换器     转换器在 ANSI 和 OEM 代码页之间转换字符。大多数数据库不需要转换器,因为 ODBC 驱动程序管理器自动执行客户端的字符集和数据库的字符集之间的转换。如果您的数据库使用 ANSI 代码页(缺省设置),则不要选择转换器。

如果需要转换器,则单击 [选择],然后从已安装的转换器列表中选择转换器。

  • 选择转换器     单击 [选择转换器] 从已安装的转换器列表中选择 ODBC 转换器。

测试连接     测试提供的信息能否产生正确的连接。为了使测试有效,必须在 [登录] 选项卡上指定用户 ID 和口令。

 

2、[ODBC 配置] 对话框:[登录] 选项卡

[ODBC 配置] 对话框的 [登录] 选项卡具有以下组件:

使用集成登录    

选择此选项使用集成登录连接。

如果选择了此选项,则无需指定用户 ID 和口令,而是向 Adaptive Server Anywhere 集成登录机制提供您的操作系统的用户 ID 和口令。

若要使用集成登录,用户必须已被授予集成登录权限,并且您连接到的数据库也必须设置成接受集成登录。只有具有 DBA 访问权限的用户可以管理集成登录权限。

提供用户 ID 和口令     如果您想为连接指定用户 ID 和口令,则选择此选项。

  • 用户 ID     键入用于连接的用户 ID。所提供的用户 ID 必须具有连接数据库的权限。
  • 口令     键入连接的口令。口令必须是提供的用户 ID 的正确口令。

    口令中使用的扩展字符区分大小写,而与数据库的区分大小写设置无关。

    • 加密口令     如果希望口令以加密形式存储在配置文件中,则选择此选项。

      此选项仅在创建 ODBC 数据源时出现。使用 dbmlsync 实用程序访问此对话框时不出现此选项。

建议不要在数据源中包含口令,因为这会带来很大的安全风险。

数据源名     此选项仅在使用 dbmlsync 实用程序打开此对话框时出现。选中该选项,以选择用于连接到数据库的数据源(存储的连接参数集)。该字段等效于 DSN 连接参数,它引用注册表中的数据源。单击 [浏览] 可查看数据源列表。

数据源文件     此选项仅在使用 dbmlsync 实用程序打开此对话框时出现。选中该选项以选择用于连接的数据源文件。可以通过单击 [浏览] 搜索该文件。ODBC 数据源文件通常用于 UNIX 系统。可以单击 [浏览] 查找 ODBC 数据源。

3、[ODBC 配置] 对话框:[数据库] 选项卡


[ODBC 配置] 对话框的 [数据库] 选项卡具有以下组件:

服务器名    

键入 Adaptive Server Anywhere 个人服务器或网络服务器的名称。例如,asademo。如果希望连接到网络服务器上,则需要提供服务器名称。

如果希望连接到缺省的本地个人服务器上,或者希望从本地计算机的数据库文件启动数据库服务器,则不要输入服务器名。如果没有缺省的个人服务器,并且没有输入服务器名称,则连接失败。

启动行    

启动行是在您的计算机上启动个人数据库服务器或网络服务器的命令。只有当要连接到当前未运行的本地数据库服务器,或者希望设置您自己的启动参数时,才输入启动行。输入时,必须输入服务器的完整路径,例如,要启动个人数据库服务器,请输入 c:\\Program Files\\Sybase\\SQL Anywhere 9\\win32\\dbeng9.exe

还可在 [启动行] 字段中包括选项。当希望进行以下操作时使用启动行和选项:

  • 利用任何高级服务器功能。
  • 控制协议选项。
  • 提供诊断或疑难解答消息。
  • 设置权限。
  • 设置数据库参数(包括加密)。

数据库名    

运行在服务器上的每个数据库都由数据库名称标识。键入您要连接到的数据库的名称。

数据库文件    

如果要连接的数据库当前没有在服务器上运行,请指定数据库文件。建议键入数据库文件的完整路径和名称,例如,C:\\sample.db。否则,文件的路径是相对于服务器的工作目录。只有启动尚未运行的数据库时才需要使用此选项。单击 [浏览] 从文件目录中选择数据库文件。

加密密钥    

如果数据库文件是加密的,则每次数据库服务器启动数据库时,都必须向数据库服务器提供密钥。

自动启动数据库    

选中该选项可在连接到 [数据库文件] 字段中指定的数据库之前启动它。

如果希望确保仅连接到正在运行的数据库上,则应清除 [自动启动数据库] 选项。

最后一个连接断开后停止数据库     选中该选项可在最后一个用户断开连接之后自动关闭数据库。

4、[ODBC 配置] 对话框:[网络] 选项卡


[ODBC 配置] 对话框的 [网络] 选项卡具有以下组件:

TCP/IP     如果要对网络包使用 ECC_TLS(以前是 Certicom)或 RSA_TLS 高度加密,则必须选择 TCP/IP 协议才能访问网络数据库服务器。在相邻的字段中,您可以输入用于建立从客户端应用程序到数据库的连接并调整该连接的通信参数。

例如,要在端口 4436 上为数据库服务器查找计算机 server1,您可以输入 HOST=server1;PORT=4436

如果您不确定要使用哪个协议,请与您的网络管理员联系。

SPX     您可以选择 SPX 协议以连接到 Novell NetWare 网络上的数据库。NetWare 也支持 TCP/IP 协议。在相邻的字段中,您可以键入用于建立从客户端应用程序到数据库的连接并调整该连接的通信参数。

例如,对于 SPX 连接,您可以输入通信参数 HOST=0:0:0:0:0:1/4:236:121:215;PORT=2369

如果您不确定要使用哪个协议,请与您的网络管理员联系。

命名管道     [命名管道] 协议用于同一台计算机上的客户/服务器通讯。如果想在已认可的安全环境下运行,可以使用命名管道协议。它只在 Windows NT 上提供。

如果您不确定要使用哪个协议,请与您的网络管理员联系。

共享内存     共享内存协议用于在同一台计算机的同一个操作系统下运行的客户端和服务器之间的通信。

如果您不确定要使用哪个协议,请与您的网络管理员联系。

活动超时    

活动包是通过客户/服务器发送的,用于确认连接是否完整。如果客户机运行在活动超时期且没有探测到活动包,通讯将被切断。此参数只适用于网络服务器以及 TCP/IP 或 IPX 通信协议。

缺省活动超时是 120 秒。

空闲超时    

设置在连接终止之前客户端的空闲时间量。如果客户机运行在空闲超时期且没有提交请求,连接将被切断。

缺省的客户端空闲时间为 240 分钟。

缓冲区大小    

设置通信包的最大字节大小。您应当将缓冲区大小设置得比网络所允许的值小一些,这是由于网络软件在通过网络发送信息之前,可能会向每个缓冲区添加信息。

缺省缓冲区大小为 1460 字节。

压缩网络包     选择此选项打开连接压缩。使用压缩连接在某些情况下可明显提高 Adaptive Server Anywhere 的性能。

选择对网络包进行加密的方法    

允许数据包加密从客户机通过网络发送。

需要有可单独授权的选件

传输层安全性要求获取可单独授权的 SQL Anywhere Studio 安全性选件,并且受出口法规约束。

  •      不加密通过客户端传输的通信包。这是缺省设置。
  • 简单     用简单加密方法加密从客户端传输的通信包。所有平台及以前版本的 Adaptive Server Anywhere 都支持简单加密。简单加密没有 ECC_TLS 或 RSA_TLS 加密安全性强。
  • ECC_TLS     选择此选项启用 ECC_TLS(以前为 Certicom)加密。当网络数据包在客户端和服务器之间进行传输时,使用 ECC_TLS 加密可保护它们的保密性和完整性。只有在 TCP/IP 协议上才可使用此类加密。

    在相邻字段中必须提供受信任证书值。您还可以单击 [编辑] 来提供此值。

  • RSA_TLS     选择此选项启用 RSA_TLS 加密。当网络数据包在客户端和服务器之间进行传输时,使用 RSA_TLS 加密可保护它们的保密性和完整性。只有在 TCP/IP 协议上才可使用此类加密。

    在相邻字段中必须提供受信任证书值。您还可以单击 [编辑] 来提供此值。

  • RSA_TLS_FIPS     选择此 选项启用 RSA_TLS_FIPS 加密。选中此选项时,数据库服务器接受使用 FIPS 认可的 RSA 加密技术加密的通信数据包。RSA_TLS_FIPS 使用与 RSA_TLS 不同的认可库,但与使用 Adaptive Server Anywhere 9.0.2 或更高版本指定 RSA_TLS 的客户端兼容。要使用该加密类型,客户端和服务器必须都运行于支持 32 位的 Windows 操作系统,该连接必须通过 TCP/IP 端口。

    在相邻字段中必须提供受信任证书值。您还可以单击 [编辑] 来提供此值。

    • 编辑     单击 [编辑] 在[Certicom 加密选项] 对话框为受信任证书、证书公司、证书单元和证书名提供加密值。

5、[ODBC 配置] 对话框:[高级] 选项卡


[ODBC 配置] 对话框的 [高级] 选项卡具有以下组件:

连接名    

键入一个名称来标识连接。此字段为可选。

字符集     键入字符集名称。缺省情况下使用客户端的 ANSI 字符集,例如英文系统使用 cp1252。您还可以提供 OEM 字符集代替 ANSI 字符集。

允许多重记录读取    

选择此选项一次检索多个记录而不是分别检索记录,这样可以提高性能。

显示日志文件中的调试信息     选择此选项在日志文件中记录有关通信链接的诊断信息。

  • 日志文件     键入要在其中保存调试信息的日志文件的名称。

其它连接参数     在此字段中的以分号分隔的列表中键入任何其它连接参数。例如,

DEBUG=YES;LOG=connection.log

在该字段中设置的参数优先于在该对话框的其余部分中设置的参数。例如,如果在 [标识] 选项卡中输入用户 ID DBA,而在该字段中设置连接参数”uid=bsmith”,则将尝试使用用户 ID bsmith 进行连接。

[Certicom 加密选项] 对话框


此对话框显示客户端 Certicom 加密设置的字段。

[Certicom 加密选项] 对话框具有以下组件:

受信任证书     键入客户机用于鉴定服务器身份的证书文件名。您还可以单击 [浏览] 从文件目录中选择受信任证书。这是一个必需的字段。

证书公司     键入证书发放机构或组织的名称。服务器和客户机的值必须匹配。这是一个可选字段。

证书单元     键入证书单元。也称为组织单元。服务器和客户机的值必须匹配。这是一个可选字段。

证书名     键入证书的公用名。服务器和客户机的值必须匹配。这是一个可选字段。

Sybase Adaptive Server Anywhere数据库之ODBC配置详解

类归于: 其它软件技术分享 — 标签:, , , — 汽修汽配管理软件 @ 6:03 上午

相关主题:如何配置ODBC数据源?如何配置Anywhere数据源?

什么是ODBC?
ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。 一个完整的ODBC由应用程序(Application)、ODBC管理器(Administrator)、驱动程序管理器(DriverManager)、ODBC接口API四部分组成。 应用程序要访问一个数据库,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。 在ODBC中,ODBC接口API不能直接访问数据库,必须通过驱动程序管理器与数据库交换信息。驱动程序管理器负责将应用程序对ODBCAPI的调用传递给正确的驱动程序,而驱动程序在执行完相应的操作后,将结果通过驱动程序管理器返回给应用程序。 在访问ODBC数据源时需要ODBC驱动程序的支持。大部分数据库应用程序的开发工具,比如PB、VB、VC等在安装后都有常用的数据库驱动程序(比如:SQLServer、Access、Paradox、dBase、FoxPro、Excel、Oracle和MicrosoftText等驱动程序)

本文介绍ODBC配置详解以Adaptive Server Anywhere 9.0为例。Adaptive Server Anywhere 8.0以下版本均为免费的数据库版本。

创建 ODBC 数据源(ODBC 管理器):

  1. 启动 ODBC 管理器:在 Sybase Central 中,选择 [工具] > [Adaptive Server Anywhere 9] > [打开 ODBC 管理器]。

    或者,从 [开始] 菜单中,选择 [程序] > [Sybase] > [SQL Anywhere 9] > [Adaptive Server Anywhere] > [ODBC 管理器]。

    此时会出现 [ODBC 数据源管理器] 对话框。

  2. 单击 [添加]。

    [创建新数据源] 向导随即出现。

  3. 从驱动程序列表中,选择 [Adaptive Server Anywhere 9.0],然后单击 [完成]。

    此时会出现 [Adaptive Server Anywhere 的 ODBC 配置] 对话框。

    The

    该窗口中的大多数字段是可选字段。单击 [帮助] 按钮,查找有关每个选项卡上的字段的详细信息。

    有关该对话框中的字段的详细信息,如下文所述。

  4. 在指定了所需参数后,单击 [确定],关闭该窗口并创建数据源。

要编辑数据源,请在 [ODBC 管理器] 主窗口中查找并选择所需的数据源,然后单击 [配置]。

[ODBC 配置] 对话框说明:请参考Adaptive Server Anywhere 9.0之ODBC配置对话框详解

 

首佳软件是专业从事汽修软件、汽配软件、汽车美容软件及4S店管理软件研发和销售的公司,是知名的汽修汽配管理软件供应商.因首佳软件的简单易学易用、性价比高的特性,而广泛应用于全国各地的汽修厂,汽配店,汽车4S店,汽车维修站,汽车美容连锁店等企业. 本博客由 WordPress 所驱动