- 新建实例的时候网络链接配置机器名或者IP地址
- 数据库日志满了,运行以下脚本清除:
dump transaction DATACENTER with truncate_only
- 设置utf8 不区分大小写
charset -Usa -P -SCOURT binary.srt utf8 charset -Usa -P -SCOURT nocase.srt utf8
- 设置字符集、排序
先用isql连接服务,再执行如下命令: sp_configure 'default charac',190 sp_configure 'default sortorder id',101
- 查看字符集ID
select name,id from syscharsets
- bcp 不能导出的原因一般是:
1. 导出文件过大,超过操作系统对文件生成大小的最大限制(比如1G、2G) 2. 原始表有损坏, 对于第一个原因,可以找操作系统工程师去掉这个限制 对于第二个原因,必须要表修复之后(可以察看错误日志,来确定是什么样的错误,以相应的方法进行修复),才可以使用,而且对于第二原因即使是使用DUMP/LOAD方式来移数据的话,在新的数据库里面也会出现问题。一定要注意这个问题。
- 对于bcp不能导入全部数据的一般原因:
1. 原始表的结构里面有text,image字段,
2. client/server字符集不一致,可能某些字符(特别是有中文的)不能导入。
对于第一个原因,可以使用格式文件定义来导出数据。
对于第二个原因,可以修改client的字符集。在使用bcp的主机的sybase安装目录下找到locales.dat文件(该文件存放在$SYBASE/locales目录下)将环境变量里面所设定的语言哪项对应的字符集修改成与server端字符集一样即可。
例如:
server端字符集为iso_1
echo $LANG的结果为C
操作系统为hp
那么就修改locales.dat,原始的locales.dat文件如下行:
[hp ux]
......
......
locale = C, us_english, roman8
.......
.......
将上面的roman8修改为iso_1即可。
问题:
C:\bcp court..DC_BM_JAFS in "D:\xjdatacenter\data\DC_BM_JAFS.txt" -SCOURT -Usa -P -c -Y
Server Message: COURTXJ - Msg 4806, Level 16, State 1:
You cannot run the non-logged version of bulk copy in this database. Please check with the DBO.
解决方法:数据库属性--选项中select into/bulkcopy/pllsort 设置为true