Sybase下载、安装、常见操作与问题

一、Sybase下载资源:

  SAP已将Sybase收购合并,15.7版本及之前的Sybase下载链接已全部失效。SAP官网提供了新的16.0版本下载资源,可以自行下载,或者将下面的链接复制至迅雷下载:

  Sybase ASE 16.0下载地址:
  Linux:http://d1cuw2q49dpd0p.cloudfront.net/ASE16.0/ExpressEdition/ase160_linuxx86-64.zip
  Windows:http://d1cuw2q49dpd0p.cloudfront.net/ASE16.0/DeveloperEdition/ase160_winx64.zip

二、安装

  Windows平台安装与Linux平台图形界面安装步骤都较为简单,这里提供一个Linux命令行安装的方式:

  vi /etc/sysctl.conf    kernel.shmmax=1073741824

  临时调整共享内存:    /sbin/sysctl -w kernel.shmmax=1073741824 (1G)  需要root用户

  groupadd  sybase

  useradd -g sybase sybase

  mkdir -p /opt/sybase

  chown -R sybase:sybase /opt/sybase/

  chmod 755 /opt/sybase/

  准备好安装包:    tar -zxvf ase150_linuxx86-64.tgz

  su - sybase    进入解压路径

  ./setup.bin -i console

 
  Linux命令行中通过 .res 模版添加Sybase实例(此方法可以用来创建多实例):
  添加实例:
  cd /opt/sybase/ASE-15_0/
  cp sqlsrv.res SYB.res    cp bsrv.res SYB_BS.res
  编辑上述两个资源文件中的各项参数
  mkdir -p /opt/sybase/data_SYB
  srvbuild -I /opt/sybase/interfaces -r /opt/sybase/ASE-15_0/SYB.res
  srvbuild -I /opt/sybase/interfaces -r /opt/sybase/ASE-15_0/SYB_BS.res
 
  Linux平台下设置Sybase服务自启动:
  cat SYBASE.sh >> /home/sybase/.bash_profile
  vi /etc/rc.local
  在末尾添加:
  su - sybase -C "/opt/sybase/ASE-15_0/install/startserver -f /opt/sybase/ASE-15_0/install/RUN_Sybase"
  su - sybase -C "/opt/sybase/ASE-15_0/install/startserver -f /opt/sybase/ASE-15_0/install/RUN_Sybase_BS"
 
三、常用操作
  更改设备文件路径:
  use master go sp_configure "allow updates to system table", 1
  go
  update master..sysdevices set phyname='X:\Sybase\data\sybprocs.dat' where name='sysprocsdev'
  go
 
四、Sybase问题集锦:
  1./lib/ld-linux.so.2:bad ELF interpreter:没有那个文件或目录
  
  
 
  
  2.字符集问题:zh_CN.UTF-8在locales.dat中找不到
  解决方法:/opt/sybase/locales目录下打开locales.dat文件,在[linux]下面添加一行locale = zh_CN.UTF-8, us_english, utf8
 
  3.isql: error while loading shared libraries: libdl.so.2 cannot open shared object file: No suck file or directory
  解决方法:find / -name libdl.so.2  -> 找到为 /lib64/libdl.so.2
  export LD_LIBRARY_PATH =  $LD_LIBRARY_PATH:/lib64/
 
五、循环插入数据 SQL 示例
  
use test
go
create table test1 (ids int,m varchar(900),n varchar(30))
go
declare @i int, @time char(30)
set @i =0, @time =convert(char(30), getdate(), 9)
print @time
while datediff([second], convert(char(30), getdate(), 9) , 'Apr 21 2015 12:19:11:000PM') >0
begin
  insert into test1
  values(@i,'test'+convert(varchar, @i), convert(char(30), getdate(), 9))
  set @i = @i+1
  waitfor delay "00:00:01"
end
go

 

  
  
  
posted @ 2015-05-16 15:33  cocno  阅读(8469)  评论(1编辑  收藏  举报