如何使用服务器端的sybase server数据库

如何使用服务器端的sybase server数据库,第1张

首先你必需在本地机安装sybase客户端可以下个sybase anywhere安装好后开始运行的搜索框中输入scjview打开如下工具

点击sybase anywhere的"连接"菜单

点击---使用sql Anywhere 11 连接

选中ODBC数据源名->点击下图中的小图标

打开ODBC数据源管理器后-〉点击系统DNS

然后点击添加,进行数据源的添加,然后选择sql Anywhere 11

然后进行sql Anywhere 11的odbc配置

打开sql server 企业管理器安全性-〉链接服务器->新建链接服务器

连接服务器名可以随便取,如果在sql 中查询时,要使用此值查询,例如

select from openquery(TEST,'select from test_table');

use master

go

---创建数据库设备

disk init

name="DEV_DB_CLIENT_DAT01",

physname="E:\sybase\DSFY100\data\DEV_DB_CLIENT_DAT01dat",

size="128M"

go

exec sp_deviceattr DEV_DB_CLIENT_DAT01, dsync, false

go

---创建数据日志设备

disk init

name="DEV_DB_CLIENT_LOG01",

physname="E:\sybase\DSFY100\data\DEV_DB_CLIENT_LOG01dat",

size="32M"

go

exec sp_deviceattr DEV_DB_CLIENT_LOG01, dsync, false

go

----------------创建数据库

use master

go

create database DB_CLIENT

on DEV_DB_CLIENT_DAT01=128

log on DEV_DB_CLIENT_LOG01=32

go

---给数据库扩容

两种方法,一是增加原来设备的大小,二是增加新的设备

1、增加原来设备的大小:

use master

go

disk resize name='DEV_DB_CLIENT_DAT01',size='200m'

alter database DB_CLIENT on DEV_DB_CLIENT_DAT01='200m'

disk resize name='DEV_DB_CLIENT_LOG01',size=200m

alter database DB_CLIENT log on DEV_DB_CLIENT_LOG01='200m'

2、增加新的设备

use master

go

disk init

name='DEV_NEW',

physname='e:\DB_CLIENT_NEWdat',

size='200m'

go

disk init

name='DEV_NEW_LOG',

physname='e:\DB_CLIENT_NEW_LOGdat',

size='200m'

go

如何设置SYBASE数据库连接超时时间

如果是Sybase的客户端工具 比如isql,好像有一个参数 -l login_timeout。 如果是ODBC,OLEDB数据源等,在配置数据源的时候应该有个设置。 如果是PB 的话,应该在连接的时候对 SQLCA 对象有参数可以设置。

;   PowerBuilder(PB)是一种跨平台的且功能强大 性能优异的开发工具 在客户端/服务器系统结构的应用模式中 作为客户端的一种面向对象的可视化设计工具 在与数据库相连接 *** 作的系统中得到较为广泛的应用 笔者在使用PB开发Sybase数据库应用 建立企业管理信息系统的过程中 积累了一点经验和技巧 现将其中的一部分在此做点介绍 或许能够对朋友们有点启发和帮助

一 PowerBuilder与Sybase SQL Server的连接

若在连接时出现问题 必须要冷静多思考 首先要检查客户端的情况 确认Open Client已经安装 并正确配置 要注意OPen Client必须与PowerBuilder同为 位 或同为 位 PB与Sybase连不上 常见的几种错误现象及处理方法说明如下

已连接上Sybase数据库 但在PB的数据库(database)画板中却看不到用户已经定义过的表

此时可打开isql或Sybase Advantage 用 sa 登录到 master 数据库 执行pbsyc sql脚本文件(该文件位于PB安装盘的server目录)即可 值得一提的是 对Sybase Adaptive Server的版本号要加以注意 根据资料对有的相关项进行点改动

在打开PB的项目画板(Project)或库画板(Library)时 出现错误信息提示: cannot locate source management dll 这个问题是因为在安装PB时 选择了安装版本控制软件(如PVCS)的接口 实际上该用户的机器上并未安装相应的版本控制软件

解决方法: 在PB的设置中 将版本控制软件的接口去掉 具体 *** 作步骤是 可在PB ini文件中 找到[Library]节 将 SourceVendor= 这一行注释去掉

数据库连接正常 但打开用户表时若该表中有汉字则出现乱码

这个问题通常是由于客户端的缺省字符集设置和服务器端的字符集设置不一致 应修改locales dat文件(该文件位于Sybase安装目录的locales子目录下) 如果在Windows / *** 作系统下 可修改[NT]节下的相关内容

若 *** 作系统平台是Windows x 则修改[win ]节下的内容 在此节有一行文本为locale=default us_english is _ 则说明客户端的缺省字符集设为iso_ 开发中文管理信息系统一般建议将字符集改为cp o 在服务器端必须要做相应的调整

二 PB编程的几点技巧

在数据窗口(Datawindow)中实现数据列自动折行

PB软件在市场上受用户欢迎的原因之一 就是它的数据窗口功能很强 而且方便应用 在使用Datawindow时 常会遇到某列的数据太长 不能同时显示全部的情况 若采用自动水平滚动 *** 作起来又不够简便 有一种方法能实现列数据多行显示(自动折行) 具体步骤如下

① 在Datawindow Panter中打开此DataWindow 在需设定自动折行的列上双击鼠标 d开此列的属性窗口 点Position标签 选中Autosize Heigh多选框; 再选择Edit标签 不选中Auto HorzScroll多选框 单击OK按钮 保存所做的修改

② 点中Detail Band(即写有Detail的灰色长带) 单击鼠标右键 选择Properties 菜单项 选中Autosize Height多选框 单击OK按钮 保存所做的修改

lishixinzhi/Article/program/PB/201311/24574

第一,可以在dsedit里添加一个server 如:aaa,配上ip地址及端口号,如:1016725240 5000

返回后你可以ping一下,如果通了,说明连接成功,如不通,可能是服务器没有启动或ip地址不正确,或端口号不正确,或网络不通。

第二,在pb中如下配置:如果你的服务器用的是sybase 115的

// Profile power_mis

SQLCADBMS = "SYC Adaptive Server Enterprise"

SQLCADatabase = "aadb"

SQLCALogPass = ""

SQLCAServerName = "aaa"

SQLCALogId = "users"

SQLCAAutoCommit = False

SQLCADBParm = "Release='115'"

connect;

作者: 佘涛 对于像Sybase这样的大型DBMS系统而言 作为OLTP(联机事务处理)应用的基石 它需要能每天 小时 每年 天不间断运行 由于其应用程序每天对数据库进行大量的插入 更新 删除等 *** 作 在数据库的物理存储介质上产生了大量存储碎片 从而影响了存储的效率以及数据库应用运行的速度 是否可以像Windows *** 作系统的 碎片整理 程序一样 整理这些碎片 从而优化数据库存储 提高数据库的运行速度呢?答案是肯定的 本文将介绍Sybase数据库的碎片类型以及碎片整理方法 碎片类型 由于Sybase是通过OAM页 分配单元和扩展页来管理数据的 所以对OLTP应用的Database Server会十分频繁地进行数据删除 插入和更新等 *** 作 时间一长就会出现以下几种情况 页碎片 即本来可以存放在一个页上的数据却分散地存储在多个页上 如果这些页存储在不同的扩展单元上 Database Server就要访问多个扩展单元 因此降低了系统性能 扩展单元碎片 在堆表中 当删除数据链中间的记录行时 会出现空页 随着空页的累积 扩展单元的利用率也会下降 从而出现扩展单元碎片 带cluster index的table也有可能出现扩展单元碎片 当有扩展单元碎片存在 会出现以下问题 ● 对表进行处理时 常常出现死锁 ● 利用较大的I/O *** 作或增加I/O缓冲区的大小也无法改变较慢的I/O速度 ● 行 *** 作的争用 扩展单元遍历 带有cluster index的table会由于插入记录而导致页分裂 但当删除记录后 页会获得释放 从而形成跨几个扩展单元和分配单元的数据 而要访问该数据就必须遍历几个扩展单元和分配单元 这将导致访问/查询记录的时间大大延长 开始时数据库的性能虽然较高 但使用一段时间后性能就会下降等问题 实际上 数据在存储空间上排列得越紧密有序 Database Server访问的速度就越快 消除碎片有助于提高系统的性能和更有效地利用数据存储空间 碎片优化方法 处理碎片有多种方法 如重新定义table的填充因子 根据table的定义删除并重新创建索引 重建表等 本文给出的方法是通过BCP实用程序将用户数据库的数据以文本形式导出 然后将用户数据库彻底清空 截断 再将文本数据导入到数据库 从而达到消除碎片的目的 具有通用性 下面以Sun Solaris *** 作系统下的Sybase Adaptive Server Enterprise 为例 说明整理数据库数据的具体方法 备份数据库 为防止在数据库碎片整理过程中出现不可预见的问题 有必要先备份数据库 创建bcp out脚本并导出数据 ● 创建包含下列SQL语句的文件 cre_bcp_out sql select bcp + name + out / + name + _out txt Udboname Pdbopwd Ssys_name c from sysobjects where type = U order by name go ● isql Udboname Pdbopwd Ssystemname < cre_bcp_out sql > b_out ● 编辑输出文件 去掉文件第一行和最后两行无关的字符 vi b_out ● 执行脚本 将数据库的数据导出到文本文件 sh b_out 创建truncate table脚本并截断数据库 ● 创建包含下列SQL语句的文件 cre_trunc_out sql select truncate table + name from sysobjects where type = U order by name go ● isql Udboname Pdbopwd Ssystemname < cre_ trunc_out sql > trunc_out sql ● 编辑输出文件 去掉文件第一行和最后两行无关的字符 并在最后一行加入 go构成完整的SQL语句 vi trunc_out ● 执行以下语句 清空数据库的数据 isql Udboname Pdbopwd < trunc_out sql 4 创建bcp in脚本并导入数据 ● 创建包含下列SQL语句的文件: cre_bcp_in sql select “bcp” + name + “in /” + name + “_outtxt -Udboname -Pdbopwd -Ssys_name -c”from sysobjects where type = ‘U’ order by name go ● isql -Udboname -Pdbopwd -Ssystemname < cre_ bcp_in sql > b_in ● 编辑输出文件,去掉文件第一行和最后两行无关的字符:vi b_in ● 从文本中导入数据:sh b_in 5 更新数据库状态 Sybase不自动维护索引的统计信息,当用truncate table截断数据库时,索引并没有改变,所以必须用update statistics来确保索引的统计信息对应当前表数据的统计。tWWiNgwiT ● 创建包含下列SQL语句的文件: cre_upd_st sql select “update statistics” + name from sysobjects where type = “U” order by name go ● isql -Udboname -Pdbopasswd -Ssystemname < cre_upd_st sql > upd_st sql ● 编辑输出文件,去掉文件第一行和最后两行无关的字符,在最后一行加入 go构成完整的SQL语句: vi upd_st sql ● 更新数据库状态: isql -Udboname -Pdbopasswd -Ssystemname < upd_st sql 至此,基本上完成了数据库用户表的碎片整理工作。 小 结 在整理过程中,有以下两点需要注意: 1 Tempdb的大小 当Sybase执行bcp in脚本时,会占用导入数据2倍的tempdb空间,因此在执行前要仔细估计最大的table的大小,保证有足够的tempdb空间。当空间不够时,要考虑用分割table或删除陈旧数据的方法缩小table的大小,或者考虑增加tempdb的大小。 2 数据库配置选项的设置 当数据库执行bcp in脚本时会产生大量的log,为保证bcp in进程不致因为log溢出而中断,应该设置database的选项“truncate log on cpt”为“true”。 虽然Sybase数据库是自优化的,但只要数据库是动态的,数据库碎片现象就会存在。在OLTP应用的场合,随着数据的不断增大,系统变得越来越缓慢,并且经常出现死锁时,应该检查数据库的碎片,并且采用以上方法进行优化。 实际上,应该定期做数据库的碎片整理,保证数据库的物理存储经常处于最优状态,相对于增加硬件而言,这是一种更好的保持数据库性能的低成本的途径。 lishixinzhi/Article/program/Oracle/201311/17019

以上就是关于如何使用服务器端的sybase server数据库全部的内容,包括:如何使用服务器端的sybase server数据库、SYBASE如何创建数据库设备文件、如何设置SYBASE数据库连接超时时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9605285.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存