2013-04-30 52 views
1

我有一個使用MySQL和Connector/J MySQL連接器的Java應用程序。我想在應用程序用戶的$HOME/.my.cnf文件中指定默認客戶端字符集,以便它不影響同一臺服務器上的其他應用程序。MySQL Connector/J讀取〜/ .my.cnf嗎?

要測試連接器/ J是否使用$HOME/.my.cnf,我創建了以下內容的文件:

[client] 
socket=/tmp/inexisting-mysql.sock 

我預計,Java應用程序無法連接到數據庫,因爲/tmp/inexisting-mysql.sock不存在。但是,應用程序仍可以成功連接到數據庫。它看起來像Connector/J根本不讀取這個配置文件。

如何讓Connector/J讀取$HOME/.my.cnf?或者我怎樣才能爲我的Java應用程序指定一個[client]節選項,但是對於使用相同數據庫的其他應用程序則不可以?

問候,貝內迪克特

回答

1

要設置默認字符集客戶端的連接,你可以給一個parameter to the connection本身:

jdbc:mysql://localhost:3306/sakila?useUnicode=true&characterEncoding=UTF-8 

我不認爲有一種方法,使連接器/ J開箱即可閱讀您的$HOME/.my.cnf。您可以在Java應用程序中讀取該文件,然後相應地設置url參數。