Sybase是一款十分专业的数据库连接工具,支持将Linux和Windows平台进行相互连接,为用户提供便捷的操作渠道,能够在多个数据库之间进行数据传输,在此过程中,用户完全可以放心数据的安全隐秘性。
1、它是基于客户/服务器体系结构的数据库
2、它支持共享资源且在多台设备间平衡负载
3、允许容纳多个主机的环境,充分利用了企业已有的各种系统它是真正开放的数据库
4、它是一种高性能的数据库,真正吸引人的地方还是它的高性能。体现在以下几方面:
5、可编程数据库,通过提供存储过程,创建了一个可编程数据库。存储过程允许用户编写自己的数据库子例程。这些子例程是经过预编译的,因此不必为每次调用都进行编译、优化、生成查询规划,因而查询速度要快得多。
6、事件驱动的触发器,触发器是一种特殊的存储过程。通过触发器可以启动另一个存储过程,从而确保数据库的完整性。
7、多线索化体系结构的另一个创新之处就是多线索化。一般的数据库都依靠操作系统来管理与数据库的连接。当有多个用户连接时,系统的性能会大幅度下降。不让操作系统来管理进程,把与数据库的连接当作自己的一部分来管理。
【简单的命令访问】
当您选择某个对象时,Sybase Central 中的 [文件] 菜单会自动更新,提供与该对象直接相关的命令。还可以右击对象来访问这些命令。
【任务向导】
如果您要添加新对象,Sybase Central 将为您提供向导,该向导会引导您逐步完成整个任务。
【拖放功能】
Sybase Central 对于许多操作均支持拖放功能。例如,如果要将表复制到不同的数据库,可以单击它们并将其拖到该位置。请参见SQL Anywhere 12 插件中的数据库对象。
【键盘快捷方式】
许多常用命令都具有键盘快捷方式;这些快捷方式在菜单中列于命令名称的旁边。请参见Sybase Central 键盘快捷方式。
【插件支持】
通过使用插件,您可以管理多种数据库产品和工具。在 Sybase Central 中,单击 [帮助],然后选择插件名来获取使用及配置插件的详细信息。
1、INSERT INTO SELECT语句
语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1
要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。
2、SELECT INTO FROM语句
语句形式为:SELECT vale1, value2 into Table2 from Table1
要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中
1、Sybase数据库存放在远程unix服务器上,创建数据表并不需要在服务器上完成,只需要在本地windows上安装sybase for windows客户端即可。
2、安装完成后即可在菜单栏找到”sybase“->"sybase central java edition"工具。在工具栏上选择“工具”->"连接",输入远程sybase数据库的ip地址和端口等信息。
3、然后找到想要添加数据表的数据库,点击“User Tables”,然后又右面窗口右键点击选择“新建 Table”。就可以新建一张数据表了。
4、如果想要执行sql查询语句呢?也很简单,需要安装一套“Embarcadero DBArtisan 8.6.1”客户端工具
5、点击“Register”注册一个sybase远程数据库,然后选择"File"->"new"->"ISQL",选择对应的数据库,然后就可以执行sql语句了。
第一步,打开sybase central,在左边视图中,双击数据库服务器名称,然后双击“登录”文件夹,在右边的视图中选择“增加登录”。新建一个“登录”,输入登录名:ts,设置口令,然后单击下一步,直到完成。
第二步,在新建好的登录名上单击鼠标右键,选择“属性”选项。
第三步,在属性窗口中选择“角色”页,点击“增加角色”按钮。
第四步,在弹出窗口中选中sa_role和sybase_ts_role两个角色(按住ctrl键来多选),点击“确定”按钮保存设置。
第六步,输入语句select * from syslogshold,如果有记录返回,则记住第三个字段(spid)的值。
第七步,输入SQL语句:dbcc traceon(3604)dbcc sqltext(上一步中第三个字段的值)执行,输出结果即为该进程正在执行的SQL语句。
Sybase数据库日志满
碰到这种情况,常会出现能查询数据,但无法更新数据,启动事务等。在代码中跟踪可以发现,连接能够打开,但事务却无法开启。常会提示“Connection to Sybase server has been lost. All active transactions have been rollbacked”的错误信息。
解决办法:
若是开发数据库,则直接清除日志即可。 若是正式数据库:建议备份当前日志 再清空日志,扩日志设备及日志数据库。清空日志的语句为『dump transaction database_name with no_log 』
Sybase中文乱码问题
出现这种情况的原因是sybase的服务器字符集不支持中文或是客户端的字符集与服务端字符集不一致。可以考虑更改sybase的默认字符集。在Sybase12.5的版本中支持中文的字符集有CP936、EUCGB、UTF-8和GB18030。这里我们针对Sybase服务器字符集不支持中文给出解决办法:
解决办法(安装cp936字符集):
假设sybase的安装路径为"D:\Sybase"。
(1)D:\>cd \sybase\charsets\cp936
(2) D:\sybase\charsets\cp936> charset -Usa -Psa_pass -Sserver_name binary.srt cp936
(3) 在InterActiveSQL中执行『select name,id from syscharsets』,需注意的是这里要选择在“master”数据库下执行,第4步也是。找到name为cp936的ID,假定是171。
(4)在InterActiveSQL中执行『sp_configure 'default character set id',171』
(5) 重启Sybase服务两次。因为第一次启动后会自动结束掉,所以需要重启第二次。
Sybase自增字段跳号处理
跳号原因及影响:
在Sybase数据库中如果数据库在开启的情况下,因为非正常的原因(死机、断电)而导致数据库服务进程强制结束。
那么自动增长的字段将会产生跳号的情况,再往数据表里面插入记录时,自增字段会跳到一个相当大的值上面,以至于主键的自增值极有可能被用尽,或由于数值太大,应用程序中的数据类型如int型等已无法容下这么大的值,而无法在程序里面进行相关的操作。
解决办法:
如果还未发生过跳号情况,可按如下办法解决:
1.执行【 select 'sp_chgattribute ' + name + ', ''' + 'identity_gap' + '''' + ', 60 go'
from sysobjects
where type='U'】。其中的60是凭感觉给的一个值,一般来说这个值越大性能越好,但越大,再发生数据库服务进程非正常结束时,所跳的号也就越大。
2.对1执行的结果,拷贝到SQL编辑区域,再执行。
若已经发生跳号,需要将表中数据导出,再重建数据表,再执行1和2。再导入数据。
……
点击下载编程软件 >>本地高速下载
点击下载编程软件 >>百度网盘下载