环境:Windows XP, db2 express-c
通过 get dbm cfg 查询 DIAGPATH,默认情况下放在C:\\Documents and Settings\\All Users\\Application Data\\IBM\\DB2目录下。
可以手动设置这个值用来放置诊断文件。
量化自我和极简主义的窝藏点
环境:Windows XP, db2 express-c
通过 get dbm cfg 查询 DIAGPATH,默认情况下放在C:\\Documents and Settings\\All Users\\Application Data\\IBM\\DB2目录下。
可以手动设置这个值用来放置诊断文件。
环境: db2 9.5 , windows xp
设置方法: 在cmd命令行中输入 db2set db2options=td;
其中td为设置的结束符的标识,而;为设置好的结束符。
********************************************************************************
在db2环境下写存储过程,函数和触发器时,由于这些语句中;为语句终止符,所以需要重新设置语句终止符。方法如下:
在语句开始前输入 –#SET TERMINATOR @,这样将这些单元的终止符设置为@。
语句结束后输入 –#SET TERMINATOR ;
Oracle : show parameter 配置名
DB2 : ! db2 get db cfg for 数据库名 | find /i “配置名”
SQL Server : select * from sys.configuration (sql server 2005)
PostgreSQL : show all 或 show 参数名
MySQL : show variables 或 show variables like ‘参数名%’
环境:winXP, mysql, Redhat
在一次从RHEL 5 dump整个数据库并在winXP下恢复,由于有一个表包含图片数据,导致“’”分隔符被吞噬(由于二进制编码的问题,引号分隔符被当作了数据的一部分),从而使得数据不能被正常导入。造成整个数据库无法导入。
解决方法:1. 使用select [binary_column] into dumpfile ‘dump_dir’ from [table_name], 然后在命令行中insert into table(binary_column) values(load_file(‘dump_dir’)); 由于只能导出单行。用起来相当麻烦。
2. 使用select col1, col2, … , hex([binary_column]) into outfile ‘dump_dir’ from [table_name], 然后在命令行中导入load data infile ‘dump_dir’ into table [table_name], 最后将之前转化为十六制的字段再转为二进制 update [table_name] set [binary_column] = unhex([binary_column]),这样就完成导入过程。
环境:RHEL 5, MySQL 5
一直都以为mysql 不能像oracle/db2/sql server那样在存储过程或函数中执行操作命令,今天在网上发现有个lib_mysqludf_sys可以实现这种功能。这个库文件在http://www.mysqludf.org/lib_mysqludf_sys/index.php上。
解压后其中有一个库文件是lib_mysqludf_sys.so,将其中放到mysql的 –plug-dir目录下(ps -ef | grep mysql可以查到plug-dir 或 在mysql命令行中查询select @@plugin_dir;),重新启动mysql服务。进入mysql命令行中,选择mysql数据库,执行CREATE FUNCTION sys_eval RETURNS STRING SONAME ‘lib_mysqludf_sys.so’; 这样就可以执行OS命令了,mysql>select sys_eval(‘ls’);
运行的Greenplum报这个错: