はじめまして&MySQLの日本語テーブルでエラー?

2,910 views
Skip to first unread message

ssdkfk

unread,
Mar 12, 2013, 1:46:35 AM3/12/13
to japan-jasperse...@googlegroups.com
はじめまして
ssdkfkと申します。

今業務でiReportを使うことになり悪戦苦闘しております。

ひとつ今はまっております。

使用したいMySQLサーバのテーブル名やカラム名が日本語になっておりまいして、
datasourceの設定や疎通確認を行ったのですが、
どうしてもクエリをいれる場面で

Error:General probrem: Error executing SQL statement for :null Check username and password; is the DBMS active?!

というエラーが出てきます。

他のDBに切り替えてテーブル名、カラム名が英語のものなら通るのですが…、
現状日本語のテーブル名などはサポートされていない感じなんでしょうか?

何かご存じの方がいらっしゃればご教授いただけると助かります…。
よろしくお願い致します。

以下、その画面です。


環境:
Mac MountainLion
iReport 5.0
MySQL 5.5.25






荒川雄介

unread,
Mar 12, 2013, 8:24:29 PM3/12/13
to japan-jasperse...@googlegroups.com
荒川です。

日本語テーブル名、カラム名は避けた方が無難です。

こちらの環境で試してみたんですが、
普通に動きます。

環境:
Windows7 Pro SP1
iReport 5.1
MySQL 5.5.25

------以下 SQL-------
delimiter $$

CREATE DATABASE `日本語テーブル` /*!40100 DEFAULT CHARACTER SET utf8 */$$

CREATE TABLE `倉庫` (
  `id倉庫` int(11) NOT NULL,
  `倉庫の名前` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`id倉庫`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8$$

INSERT INTO `日本語テーブル`.`倉庫`
(`id倉庫`,
`倉庫の名前`)
VALUES
(
0,
"横浜"
);

----以上 SQL-------------

Macでは未だ試してはいません。

MySQLのdefault-charsetはどうなっているでしょうか?

コマンド上からであれば、

mysql>status;

で確認できます。
utf8かcp932かだとは思いますが。

私の場合はこんな感じ

mysql> status;
--------------
C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql.exe  Ver 14.14 Distrib 5.5.25,
 for Win64 (x86)

Connection id:          20
Current database:
Current user:           root@localhost
SSL:                    Not in use
Using delimiter:        ;
Server version:         5.5.25 MySQL Community Server (GPL)
Protocol version:       10
Connection:             localhost via TCP/IP
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
TCP port:               3306
Uptime:                 1 day 23 hours 16 min 16 sec

Threads: 5  Questions: 543  Slow queries: 0  Opens: 43  Flush tables: 1  Open ta
bles: 4  Queries per second avg: 0.003
--------------


2013年3月12日火曜日 14時46分35秒 UTC+9 ssdkfk:

荒川雄介

unread,
Mar 12, 2013, 8:47:26 PM3/12/13
to japan-jasperse...@googlegroups.com
ちょっとお話はそれますが、
新規でMySQLで日本語を扱うDBを作る場合、
default-charset=utf8mb4 
にした方が無難です。

第4水準のザロードペアの厄介な漢字が格納されても対応できるようになりますので。

荒川雄介

unread,
Mar 12, 2013, 9:34:09 PM3/12/13
to japan-jasperse...@googlegroups.com
tableの文字コードをujis(EUC-JP)、CP932(SJISのMS拡張)で作成してもトラブルは発生しませんでした。
iReportからもデータが呼び出せます。

show table status from sjis日本語テーブル

|Name|Engine|...省略....|Collation|....
倉庫|InnoDB|...省略....|cp932_japanese_ci|...

show table status from 日本語テーブル

|Name|Engine|...省略....|Collation|....
倉庫|InnoDB|...省略....|utf8_general_ci|...

show table status from ujis日本語テーブル

|Name|Engine|...省略....|Collation|....
倉庫|InnoDB|...省略....|ujis_japanese_ci|...


荒川雄介

unread,
Mar 12, 2013, 9:50:31 PM3/12/13
to japan-jasperse...@googlegroups.com
下記のエラーをGoogle検索すると

Error:General probrem: Error executing SQL statement for :null Check username and password; is the DBMS active?!

以下のiReportのBugTrackerにぶち当たりました。

エラーが出ても何故かReportは作成できると書いてありますが、
無理やり作成したら動くでしょうか?
後、iReport4.7.1だとそのトラブルは再現しないといったことが書かれています。





荒川雄介

unread,
Mar 12, 2013, 10:23:31 PM3/12/13
to japan-jasperse...@googlegroups.com

以下のiReportのBugTrackerにぶち当たりました。

#3に 
E.g. this happens when column alias has space. Removing it fixed the error.
カラムエイリアスにスペースがあると起こる。取り除くとエラーが直る。

と書かれていたのでカラム部分に全角スペースを入れてみました。
-----SQL------
SELECT 
 * "ここに全角スペースを入れる"
FROM
 倉庫
------------------

見事に再現しました。

全角スペースを取り除けば治ります。



ssdkfk

unread,
Mar 12, 2013, 11:39:49 PM3/12/13
to japan-jasperse...@googlegroups.com
荒川さん

ご丁寧に色々有り難うございます!
mysqlの設定は同じくutf-8でしたがmacではいまいち動かず…

ただ、windowsで試してみたところ、何ら問題なく動きました。
相互関係はイマイチ不明ですが、サーバ側はWindowsでうごかすということで一旦落ち着きました。
ただ、Macでも動かせたいのでもう少し色々探ってみます。




2013年3月13日水曜日 11時23分31秒 UTC+9 荒川雄介:

Kenki Kim

unread,
Mar 13, 2013, 3:17:58 AM3/13/13
to japan-jasperse...@googlegroups.com
ssdkfkさん。
 
Jaspersoftもサポートをしております。
 
MySQLでもPostgreSQLでも日本語は、使用可能ですので、
SQL Windowsの真ん中くらいの 「Query Designer」を実行して、
日本語テーブルが表示されれば、問題ないはずです。
 
以上ですが、ご参考まで。
--
このメールは Google グループのグループ「Japan JasperServer User Group」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、japan-jasperserver-u...@googlegroups.com にメールを送信します。
このグループに投稿するには、japan-jasperse...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/japan-jasperserver-user-group?hl=ja からこのグループにアクセスしてください。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
 
 
Reply all
Reply to author
Forward
0 new messages