*

[PHPStorm]DB接続設定 SQLをPHPStormから投げれるようにする

公開日: : 最終更新日:2014/12/26 php, PHPStorm

事の発端

今日、仕事してて、SQLを組んでたんです。
データ的には大して面倒ではない5テーブルのjoinだったんですが、
なにせ相手はAS400なので、

 

やれ、テーブル名は10byteだの

やれ、フィールド名は6byteだの

やれ、6byteしかないうちの1byteはテーブル識別子だの

 

ABURDF(売り上げ明細ファイル)のBUDNNN(売り上げ伝票ナンバー)がkeyで、
BUTKCD(売り上げ得意先コード)に対してABTKSM(得意先マスタ)のBTTKCD(得意先コード)でjoinして、
BTTKNM(得意先名称)を引っ張る。

やってられるか!!!

ちなみに上の暗号の意味を解説すると

  • ABURDF:ABstractというお客さんのURiageのDetailFile
  • BUDNNN:aBstract用UriageテーブルのDeNpyou NuNber(Nunberって……)
  • BUTKCD:aBstract用UriageテーブルのToKuisaki CoDe
  • ABTKSM:ABstractというお客さんのToKui Saki Masterfile
  • BTTKCD:aBstract用TokuisakiテーブルのToKuisaki CoDe
  • BTTKNM:aBstract用TokuisakiテーブルのToKuisaki NaMe

になります。
すんなり読めた貴方は暗号解読班の才能があります

まぁ、ぶっちゃけ、慣れたもんなのですが、略語に唐突に日本語が入ってたり、かと思ったら明細はDetailだったりで統一感が取れないので、
正直カラム名まで覚えられません

何かよいエディタはないだろうか

と思って、いろいろ触ってみました。

Visual Studio

まずはVisual StudioでDBに接続させてみます。
コネクションストリングを作成する要領で接続して、ホストを右クリックからクエリを作ります。

お、いい感じ。

……あれ? クラッシュした

んん? もっかい。

クラッシュしない

と思ったら二回目でクラッシュした……。

といった感じでなんかおかしい。
多分ClientAccessがVerに対してASのバージョンが低いからおかしいみたい。
新しいほうのAS400なら上手くいく。
しかしこれでは心もとないです。

システムiナビゲータ

相手はASだし、IBM純正ならどうでしょう。

と使ってみたんですが、駄目だ。
補完が全くきかねぇ。
あとやっぱり不安定
ついでにタブの間隔が4byteとか8byteのレベルじゃなくて、30byte以上タブ間隔がある。なんでやねん。

sublime text 3

それじゃあこの子の出番かな、とsublime text 3を起動。
大したことないスクリプトとか、キーマクロ使うときはよくこの子でやってます。
すばらしさをみんなに伝えても誰も賛同してくれませんけど。

で、使ってみると、なかなかいい感じ。
一度入力したものだと補完が効きます。
AS400に繋げることが出来るかなぁ。
SQLを実行するときにiナビ起動して実行するのもかったるい。
PlugInを導入するのも面倒。(調べるのが面倒
あとはなんかいいものあったかなぁ……あ、そうだ。

PHPStorm

というわけでタイトルのPHPStormを起動してみたんです。

適当に設定してみて、対象のスキーマをSyncして、設定。
すると、なんということでしょう。

完全なる補完機能があるじゃないですか。

更に実行して、その結果を得ることや、クエリの時間計測まで出来るじゃありませんか。

これは素晴らしい!!
そんなわけでこれは布教せねばとブログを書いている次第であります。

PHPStormでデータベースに接続設定

早速設定だ!

PHPStormを起動して、View -> ToolWindows -> Databaseと選択してDatabaseウィンドウを起動します。
Wannabenote

さすがに自宅にAS400がある人は特殊だと思うのでMySQLを登録してみます。
(ASでもほとんど同じです)
+マークからData Source => MySQL を選択。
Wannabenote

さくらインターネットの場合、以下を設定。

  • Host:データベースサーバ
  • Database:データベース
  • User:データベース ユーザ名
  • Password:パスワード

Wannabenote
MySQLを自力で入れることが出来る人はわかると思います。
ほかのDBでもなんとなくわかるはず。
AS400の場合はDriver filesをクリックしてドライバーをダウンロードしてくださいな。

ローカルのデータベースならここで終わりですが、レンタルサーバなので、更にSSHの設定が必要です
SSHタブをクリックして、Use SSH turnelにチェックを入れて、以下を設定。

  1. Proxy host:サーバに関する情報のIPアドレス
  2. Proxy user:サーバコントロールのユーザ
  3. Proxy password:↑のパスワード

Wannabenote

そしてTest Connectionをクリック。
Wannabenote
Connection successfulでOKです。
接続完了です。

利用するスキーマの指定

スキーマ(Schemas)を指定します。
接続が成功したならば、Schemas & Tableというタブをクリックすると、データベースの一覧が出てきます。
(ASならライブラリだったかな?)

使いたいものにチェックを入れてApplyをクリック。
Wannabenote
全部にチェックを入れるのはお勧めしないです。
ふとしたときに間違えて消しちゃったりしたらと思うと……。
必要なものだけにしましょう。

以上で設定は終わり!

使ってみる

テーブルを閲覧

Databaseウィンドウで、作成した設定を右クリックしてSynchronize(同期)します。
Wannabenote

しばらくすると、データベースの右側に[connected]というメッセージが現れ、矢印マークも出てきますので、ツリーを開きましょう。
テーブルが見えるはずです。
Wannabenote

テーブルをダブルクリックすると、レコードの閲覧が出来ます。
Wannabenote

SQLを実行する

ついにSQLを実行するときがやってまいりました。

Schemaを右クリックからConsoleをクリックします。
Wannabenote

出てきたウィンドウで、SQLを打とうとしてみてください。
Wannabenote

キタ━━━━━━(゚∀゚)━━━━━━!!!!

適当にSQLを打って、Ctrl+Enterで実行。
Wannabenote

下のほうにウィンドウが出てきて、
Wannabenote

データがキ・キ・キ・キタ━━━━━━(゚∀゚)━━━━━━!!!!

というわけで設定完了です。
SQLは.sqlの拡張子で保管したりも出来ます。

お疲れ様でした。

Auto ComitReadOnlyの設定などを行って自分好みにしてくださいませ。

ad

関連記事

Wannabenote

[SNS,PHP]SNSを作ろう OpenPNEインストール編

ふと今日、ほしいなーって思ったSNSがないんです。 どこ探してもない。 ……ないなら作っちゃ

記事を読む

Wannabenote

[CakePHP]ログアウトすると権限が必要と表示される

ちょっと時間は前後しますが、ログイン機能を作ったあとの話です。 チュートリアル通りに進めても、

記事を読む

Wannabenote

[CakePHP]SNSを作ろう CakePHP設定編

SNSを作ろうまとめページはこちら 前回の続き。 前回のこの画面は設定が必要な箇所を示し

記事を読む

Wannabenote

[CakePHP]SNSを作ろう ブログ編2~MVCの作成~

SNSを作ろうまとめページはこちら。 前回の続き。 ブログ編は基本的にこちらのチュートリ

記事を読む

Wannabenote

[CakePHP]SNSを作ろう ブログ編3~投稿画面作成~

SNSを作ろうまとめページはこちら→SNSを作ろうまとめページ 前回(SNSを作ろう ブログ編

記事を読む

Wannabenote

[CakePHP]SNSを作ろう ブログ編5~編集画面作成~

SNSを作ろうまとめページはこちら CakePHPで閲覧画面を作った続きです。 投稿を手軽に

記事を読む

Wannabenote

[CakePHP]SNSを作ろう ブログ編4~閲覧画面作成~

SNSを作ろうまとめページはこちら→SNSを作ろうまとめページ SNSを作ろう ブログ編3~投

記事を読む

logo

WordPressがログイン出来ない時

WordPressでこのホームページを始めたのですが、試行錯誤のうちにログインが出来なくなりました。

記事を読む

Wannabenote

[CakePHP]SNSを作ろう ブログ編

SNSを作ろうまとめページはこちら。 前回の続き。 さて、私が今作りたいのはブログがメイ

記事を読む

Wannabenote

[CakePHP]SNSを作ろう CakePHPインストール編

SNSを作ろうまとめページはこちら はい。こないだのsymfonyはなかったことにします。

記事を読む

ad

Message

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

ad

  •  Auther;わなび

     「オープン系得意だよね? 俺のPCの調子悪いんだけど」という無茶振りから解き放たれゲームエンジニアに。
    C#とかUnityを扱います。
    Twitterフォロー大歓迎です。
    githubアカウント→wannabenote
  • follow us in feedly
PAGE TOP ↑