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

oojustin發表於2012-05-03

      今天開發專案時遇到一個問題,並沒有使用儲存過程來批量執行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下,以後不要犯同樣的問題了。花了我大概一個小時時間找這個問題,傷不起啊!

相關文章