欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

jbpm部署流程定義到MySql報亂碼解決方案

系統 2919 0

?

問題起因:

我在使用ant將流程定義和流程相關資源部署到JBPM數據庫中的時候,報了下面一個錯誤。

?

錯誤提示,大概是:
11:33:40,781 ERROR JDBCExceptionReporter:101 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'EQT??u_??????~?<?q_U?<}?~ü?v??ì??‘??R?L\0\0?àvféb|o?r?ê??ù*??ìy?~?Séj÷ §?’L6' at line 1
jbpm org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
?at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90)
?at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
?at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)
?at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:114)
?at .................

很明顯是hibernate執行更新數據庫的時候sql語句出了問題!亂碼!我的jbpm配置與數據庫編碼不一致,導致發sql語句的時候出現亂碼。本來以為很簡單,改一下數據庫編碼就可以了,結果走了很多彎路,先把正確方案總結如下。

看解決方案:


1、關閉MySql服務

2、在Mysql的安裝目錄下,在my.ini中添加紅色部分:
[client]
default-character-set=utf8
port=3306

[mysql]

default-character-set=utf8
# SERVER SECTION
# ----------------------------------------------------------------------
#
# The following options will be read by the MySQL Server. Make sure that
# you have installed the server correctly (see above) so it reads this
# file.
#
[mysqld]

default-character-set=utf8
# The TCP/IP Port the MySQL Server will listen on
port=3306

?

3、重新啟動Mysql服務

4、查看編碼方式是否已經修改:

打開Mysql控制臺:
mysql> show variables like 'char%';
+--------------------------+---------------------------------------------------------------+
| Variable_name??????????? | Value???????????????????????????????????????????????????????? |
+--------------------------+---------------------------------------------------------------+
| character_set_client???? | utf8????????????????????????????????????????????????????????? |
| character_set_connection | utf8????????????????????????????????????????????????????????? |
| character_set_database?? | gbk?????????????????????????????????????????????????????????? |
| character_set_filesystem | binary??????????????????????????????????????????????????????? |
| character_set_results??? | utf8????????????????????????????????????????????????????????? |
| character_set_server???? | utf8????????????????????????????????????????????????????????? |
| character_set_system???? | utf8????????????????????????????????????????????????????????? |
| character_sets_dir?????? | C:\Program Files (x86)\MySQL\MySQL Server 5.0\share\charsets\ |
+--------------------------+---------------------------------------------------------------+

這樣以后所有新建的數據庫都將采用utf-8編碼。

注:
1、在修改my.ini的過程中,可能會因為操作不當,導致Mysql服務不能啟動,所以操作前先備份。

2、如果啟動Mysql服務報windows 無法啟動MySQL服務(位于 本地計算機 上)。錯誤10067

那么,參照下面解決方案:

新建my.ini
my.ini內容為:
[client]
default-character-set=utf8
port=3306

[mysql]
default-character-set=utf8

[mysqld]
port=3306

#Path to installation directory. All paths are usually resolved relative to this.
basedir="C:/Program Files (x86)/MySQL/MySQL Server 5.0/"

#Path to the database root
datadir="C:/Program Files (x86)/MySQL/MySQL Server 5.0/Data/"

# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=utf8

# The default storage engine that will be used when create new tables when
default-storage-engine=INNODB

# Set the SQL mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
max_connections=100
query_cache_size=0
table_cache=256
tmp_table_size=5M
thread_cache_size=8
myisam_max_sort_file_size=100G
myisam_max_extra_sort_file_size=100G
myisam_sort_buffer_size=8M
key_buffer_size=8M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=212K
innodb_data_home_dir="C:/MySQL Datafiles/"
innodb_additional_mem_pool_size=2M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=8M
innodb_log_file_size=10M
innodb_thread_concurrency=8

?

#注:
#注意紅色部分要根據你自己的安裝目錄進行設定。


將該文件復制到mysql安裝目錄中和系統的windows目錄中。如果原來存在,替換掉原來的。啟動MySql服務即可!

?

忽然想到自己的Linux服務器上的MySql也不完全是utf8編碼的,那怎么改呢?大致思路和在windows下是一樣的。

1、中止MySQL服務(bin/mysqladmin -u root shutdown)

2、在/etc/下找到my.cnf,如果沒有,就把MySQL的安裝目錄下的support-files目錄下的
my-medium.cnf復制到/etc/下并改名為my.cnf即可

3、打開my.cnf以后,在[client]和[mysqld]下面均加上default-character-set=utf8,
保存并關閉

4、啟動MySQL服務(bin/mysqld_safe &)?
?

總結:

這樣的修改一勞永逸,非常簡單,今后MySQL一切相關的默認編碼均為UTF-8了,創建新表的時候無需再次設置。如果MySql還沒有安裝,那么建議在安裝Mysql的時候,就將默認編碼設置為utf8,我們的項目中也應該將編碼設置為utf8,這樣后續會規避很多問題。需要注意的是,當前數據庫中已經存在的數據仍保留現有的編碼方式,因此需要自行轉碼,

方法在網上有很多,不再贅述。

?

?

?

jbpm部署流程定義到MySql報亂碼解決方案


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲精品人成网在线播放影院 | 草草久久久 | 亚洲精品人成网在线播放影院 | 五月天色丁香 | 天堂色区| 亚洲第一黄色网 | 91九色精品国产 | 亚州老熟女A片AV色欲小说 | 一区二区三区免费在线 | 中文字幕av免费 | 国产精品原创av片国产免费 | 亚洲伦理中文字幕 | 国产视频aaa| 51国产午夜精品免费视频 | 狙击兵2通古电影高清 | 奇米亚洲 | 久久男人的天堂 | 高清一区二区 | 九九在线视频 | 伊人久久99亚洲精品久久频 | 精品国产自在久久 | 国产亚洲精品日韩香蕉网 | 亚洲色色| 国产在线观 | 精品久久久久久久久久 | 成人在线免费视频观看 | 日韩午夜精品 | 日日麻批的全部过程 | 久久se精品一区精品二区 | 久久久久成人精品 | 欧美成人午夜剧场 | www.伊人| 午夜视频在线观看www中文 | jizzzxxxxhd| 男女免费爽爽爽在线视频 | 日本三级欧美三级 | 成人福利在线 | 精品久久久久久国产 | 四虎影院最新网站 | 91在线入口 | 性69式视频在线观看免费 |