欧美三区_成人在线免费观看视频_欧美极品少妇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條評論
主站蜘蛛池模板: 日韩欧美在线视频播放 | 一级毛片日本特黄97人人 | 污视频网页 | 美女用震蛋叫爽的视频95视频 | 九九视频精品全部免费播放 | 久久久噜噜噜久久中文字幕色伊伊 | 色综合久久久久久久久五月性色 | a在线v| 久久亚洲欧美成人精品 | 欧美在线性视频 | 成人免费影 | 国产黄色片网站 | 久草久草久草 | 女人被狂躁视频免费网站 | 日韩成人av在线播放 | 国产成人精品.一二区 | 天天成人综合网 | 精品一卡2卡三卡4卡免费观看 | 无名者电影在线完整版免费 | 丁香花婷婷 | 日韩免费一级片 | 国产精品免费一区二区三区都可以 | 国产福利观看 | 国产深夜福利视频在线 | 91成人影院未满十八勿入 | www.75zzz.com| 九色在线视频 | 丝袜美腿一区二区三区 | 91麻豆精品国产91久久久久久 | 欧美成a高清在线观看www | 欧美三级 在线播放 | 亚洲影视在线观看 | 欧美色图久久 | 亚洲精品福利一区二区三区 | 国产欧美日韩视频在线观看 | 亚洲情a成黄在线观看动 | 91精品久久久久久久久久 | 99激情视频 | 亚洲国产中文字幕 | 欧美视频一区二免费视频 | 99av.com |