SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase, Hana]
编写一个爬虫程序,数据存储使用的是spring jdbctemplate,本地测试OK,在上线的过程中遇到问题。
错误信息
Aug 18, 2017 1:56:41 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml]
Aug 18, 2017 1:56:41 AM org.springframework.jdbc.support.SQLErrorCodesFactory <init>
INFO: SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase, Hana]
错误原因: 数据库表结构字段类型不一致导致。
过程分析:
- 在windows开发环境下,使用sqlyog软件创建了表结构。上线时为了图方便直接使用sqlyog的软件导出表结构信息,然后粘贴到控制台,没细看就运行了。
- sqlyog导出来的建表语句如下,数据类型完全变了,主键也不见了
cre-ate ta-ble `huxiu_article` (
`id` double ,
`title` varchar (750),
`author` varchar (750),
`createTime` varchar (750),
`sc` double ,
`pl` double ,
`zan` double ,
`content` blob
);
- 使用navicat导出建表语句,如下。
DR-OP TAB-LE IF EX-ISTS `huxiu_article`;
CR-EATE TA-BLE `huxiu_article` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(250) DEFAULT NULL,
`author` varchar(250) DEFAULT NULL,
`createTime` varchar(250) DEFAULT NULL,
`sc` int(11) DEFAULT NULL,
`pl` int(11) DEFAULT NULL,
`zan` int(11) DEFAULT NULL,
`content` text,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1059 DEFAULT CHARSET=utf8;