navicat

Navicat 导出mysql数据库的时候出现 “Cannot proceed because system tables used by Event Scheduler

星期六, 二月 14th, 2015 | linux, php | 没有评论

用navicat 遭遇 “Cannot proceed because system tables used by Event Scheduler were found damaged at server start” .

使用的APMServ MySQL的集成环境(工具是好用但是找对应的文件是有点麻烦,我还是比较喜欢独立安装各个的支持,追求效率的话可以忽略)

在网上找了下要用什么upgrade什么exe升级下即可,没有找到对应的执行文件,在网上找到一个对应的执行sql即可的方法,如下:

进入mysql的系统库,执行sql:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
DROP TABLE IF EXISTS `event`;
CREATE TABLE `event` (
  `db` CHAR(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
  `name` CHAR(64) NOT NULL DEFAULT '',
  `body` longblob NOT NULL,
  `definer` CHAR(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
  `execute_at` datetime DEFAULT NULL,
  `interval_value` INT(11) DEFAULT NULL,
  `interval_field` enum('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND') DEFAULT NULL,
  `created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `modified` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',
  `last_executed` datetime DEFAULT NULL,
  `starts` datetime DEFAULT NULL,
  `ends` datetime DEFAULT NULL,
  `status` enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') NOT NULL DEFAULT 'ENABLED',
  `on_completion` enum('DROP','PRESERVE') NOT NULL DEFAULT 'DROP',
  `sql_mode` SET('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH') NOT NULL DEFAULT '',
  `comment` CHAR(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
  `originator` INT(10) UNSIGNED NOT NULL,
  `time_zone` CHAR(64) CHARACTER SET latin1 NOT NULL DEFAULT 'SYSTEM',
  `character_set_client` CHAR(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
  `collation_connection` CHAR(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
  `db_collation` CHAR(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
  `body_utf8` longblob,
  PRIMARY KEY (`db`,`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Events';

Tags: ,

oracle迁移至mysql小计

星期日, 十一月 6th, 2011 | Database, JAVA-and-J2EE | 没有评论

使用 navicat premium 点击下载 ,是收费版本,不过可以试用30天,挺好用的东西;推荐使用这个转换的速度很快,也蛮好

I. 首先遭遇cannot load oci.dll,
解决方案如下:
解决起来也方便官方给了wiki解决地址 http://wiki.navicat.com/wiki/index.php/Instant_client_required

简单之只要去http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 下载需要的客户端就可以,只要解压,在navicat的options的oci项目中选中oci.dll即可,sqlplus也选中你安装的oracle client标准版的sqlplus选项

II. 在连接oracle时候遇见 ORA-12705: invalid or unknown NLS parameter value 很郁闷的事情,出现此种是安装了oracle的客户端的时候有语言选项造成的;

解决方案如下:
改变环境变量的值:\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\NLS_LANG
1.cmd命令行中输入regedit 打开注册表,
2.搜索注册表中的NLS_LANG
3.改变这个值的编码格式,我的是中文:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
注: 听说有在eclipse遇见过此问题的,可以在ECLIPSE的参数启动改变,在eclipse.ini,进行编码的匹配,-DNLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

Tags: , , , , ,

Search

文章分类

Links

Meta