一、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:Sybasedatasybprocs.dat' where name='sysprocsdev'
go
四、Sybase问题集锦:
1./lib/ld-linux.so.2:bad ELF interpreter:没有那个文件或目录
![](https://images2015.cnblogs.com/blog/683113/201509/683113-20150919095101445-2071626402.png)
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