Oracle SQL DeveloperでMySQLに接続して接続の文字コードでUTF-8を指定する
MySQL WorkbenchがMacでクエリー1回送信するレベルで落ちまくるので、使い慣れたOracle SQL Developerを使う事にしました。
文字コードで嵌ったというか情報を見つける事が出来ず、きっと公式ではないだろうやり方で出来たので記しておきます。
目次
Oracle SQL Developerのインストール
公式サイトでダウンロードします。
ダウンロードが終われば解凍してApplicationとかに置いておきます。
JDK8がなければ同じページからついでにダウンロードしてインストールしておきます。
(SQLDeveloper. Service exited with abnormal code: 1とかで落ちてる場合はJavaのバージョンがあってないです。多分。)
MySQL JDBC Connectorのダウンロード
こちらも公式サイトからダウロードして解凍して任意のディレクトリに格納します。
Oracle SQL Developerでの設定
[Oracle SQL Developer]-[Preferences]-[データベース]-[サードパーティーJDBCドライバ]でMySQL JDBC Connectorのjarを指定します。
これでデータベースの接続に[MySQL]タブが増えました。
接続を作ります。
今回はAWSのRDSに接続してみます。
※セキュリティグループで3306ポートとかは自IPで開けておきます。
データベースのアイコンにイルカがいます。
なんか嬉しいです。
日本語対応する
でもこのままだと日本語が使えません。
selectの結果とかで表示する事は出来ますが、クエリーで使ったり、insertやupdateする時に文字として送れません。
「select ‘あいう’ from dual;」とか送信すると下図のようになります。
文字コードの問題なのでJDBC URIにcharacterEncoding=utf8パラメータをつければ解決しそうなのですが、それをOracle SQL Developerで設定する場所がまったくわかりませんでした。
1 2 |
jdbc:mysql://instance_name.ap-northeast-1.rds.amazonaws.com:3306/database_name?characterEncoding=utf8 |
試して出来たやり方は以下です。
[接続のエクスポート]で設定をエクスポートします。
エクスポートして出来たXMLの以下の箇所を追記します。
1 2 3 4 |
<StringRefAddr addrType="customUrl"> <Contents>jdbc:mysql://instance_name.ap-northeast-1.rds.amazonaws.com:3306/</Contents> </StringRefAddr> |
これを、こんな感じで。
インスタンス名、データベース名はそれぞれの環境で。
1 2 3 4 |
<StringRefAddr addrType="customUrl"> <Contents>jdbc:mysql://instance_name.ap-northeast-1.rds.amazonaws.com:3306/database_name?characterEncoding=utf8</Contents> </StringRefAddr> |
[接続のインポート]で置き換えで戻します。
無理やり入れたパラメータが[データベースの選択]フィールドに入っています。
これで先程の「select ‘あいう’ from dual;」を送信すると、
出来た!
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
Oracle 12c インスタンスを起動してユーザーとテーブルを作成する
環境 Mac上のVirtualBox CentOS 7 Oracle 12c イ …
-
MySQL 5.7でload data local infileでバックスラッシュ(\)を含むフィールドでエラー
バックスラッシュ(\)を含むフィールドがあるレコードをload data …
-
Oracle SQL Developer でConnections(接続)が表示されなくなった
まれにOracle SQL DeveloperのConnect(接続)が表示され …
-
RDS for MySQL slow.log破損そして修復
AWSのRDS for MySQLでは、パラメータグループでslow_query …
-
VirtualBoxでCentOS7+Oracle12c環境を構築するの3(データベース作成)
Oralceのインストールはこちら「VirtualBoxでCentOS7+Ora …