Variable 'character_set_client' can't be set to the value of Null的解决办法

Variable 'character_set_client' can't be set to the value of Null的解决方法

      今天开发项目时遇到一个问题,并没有使用存储过程来批量执行SQL语句。而是在Java业务处理过程中将.sql文件中的批量SQL语句分条读取,读取后一条一条执行。原先的.sql文件是使用SQL Manager导出的,需要在项目部署的时候将导出的.sql文件重新部署到新的客户端电脑上,所以需要进行批量执行SQL语句的操作。好进入正题:

      在批量执行的过程中遇到Variable 'character_set_client' can't be set to the value of Null的SQL,JDBC的异常。经过长时间排查,排除了数据库数据集的设置问题,排除了SQL语句的格式问题。最后发现是使用SQL Manager导出的.sql文件中有SQL语句的注释,原来是这些注释文件造成以上的报错。所以在执行类似的操作时,以后要记得删除注释语句后再执行批量SQL语句操作。

 

# SQL Manager 2007 Lite for MySQL 4.0.5.1
# ---------------------------------------
# Host     : localhost
# Port     : 3306
# Database : image


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

 

#
# Structure for the `imagefeatures1` table :
#

 

     这些都要删除掉,当然也可能是跟我使用的Java读取语句有关系。Mark下,以后不要犯同样的问题了。花了我大概一个小时时间找这个问题,伤不起啊!