Namanyの日記: データベース接続クライアント 14
A5:SQL Mk-2作者の件のストーリーのはなんか気持ち悪い流れになってるし、本題から外れるのでチラ裏に。
A5:SQL Mk-2についてはユーザーじゃないかといわれるとユーザーなんですが、圧倒的にCSEの方が使用頻度が高いんですよね。
A5:SQL Mk-2を使う時ってCSEだと上手く行かない場合(主に設計書逆生成関連)や、SQL Server使う際にODBC設定をOSに作るのが何か面倒だったり嫌な場合なんかに限られてます。
しかもその場合でも、次点には黒猫SQL Studioが待ってたりします。
#というか、そもそもSQL Serverの場合、公式クライアントに勝る環境ってなかなか無いよね。
そういうわけでA5:SQL Mk-2が使いやすいとは思っていないです。というか不具合多いよね。
この手のデータベース接続クライアントアプリケーションって一通りDBの中身を表形式で出力させて、ひょいひょいと表を直接更新してDB更新するってのがSQL書くより圧倒的に楽ってのが最大のメリットだと思うんだけど、そのあたりが上手く動かないとなんか萎えるんだよね。
たぶん設定の問題で回避できることなんだとは思うんだけど、その解決を図るくらいならCSEでいいや、となる。
どうしてもER図を自動出力したいんだ、って事情があれば頑張るけど、そんなこともないし。
そういうわけで、機能は豊富だけど品質がイマイチ、というのが正直な印象。
というか、このソフトのユニークな機能であるER図出力機能もまともに動いたことないです……
なんか使い方にコツとかあるのかな?
けれど、先に挙げた他の2つのアプリケーションは更新が止まっている状態で先行きが不安。
そういう意味ではA5:SQL Mk-2を応援したい気持ちはあるんですが、
「いつもお世話になってます。大変だと思いますが頑張って下さい。少ないですけど寄付します。」
みたいな気持ちには正直ならないです。ごめんなさい。
なんか、いい感じのデータベース接続クライアントってないものですかね。
SQuirrel SQL Client (スコア:2)
ここぞとばかりにSQuirrel SQL Client [sourceforge.net]をおしてみます。
ER図のexportはできますがあまりきれいではありません。きちんとできますが、印刷用とでは向かない感じです。ただ、それ以外の汎用SQLクライアントとしては結構な完成度です。
という点はカバーできていますし、SQLエディタはCtrl+Spaceでテーブル名、カラム名を含めて補完候補がでてきます。SQLを書くのが楽になります。
アプリケーション自体がJavaで作成されていることもあり、接続先DBはJDBCドライバさえあれば基本的に選びません。自分はSQL Server、Oracle、PostgerSQL、MySQL、H2 Database、HSQLDBへ接続したことがあります。
Re:SQuirrel SQL Client (スコア:1)
お奨めありがとうございます。
ただ、Javaですか……
WindowsでJavaアプリケーションってWindows APIを使用しないGUIになってしまうので極力避けたいんですよね。
あと、これはアプリケーションにもよるんだと思うんですが、JAVAアプリケーションってイマイチ安定しない印象があるので。
Oracle 8iのDBA Studioで何回javaw.exeをkillしたか覚えてません。
わがままですみません。一応試してみます。
Re:SQuirrel SQL Client (スコア:2)
お奨めありがとうございます。
ただ、Javaですか……
WindowsでJavaアプリケーションってWindows APIを使用しないGUIになってしまうので極力避けたいんですよね。
あと、これはアプリケーションにもよるんだと思うんですが、JAVAアプリケーションってイマイチ安定しない印象があるので。
Oracle 8iのDBA Studioで何回javaw.exeをkillしたか覚えてません。
わがままですみません。一応試してみます。
内部的には当然Windows APIをたたいていますし、画面のウィジットもWindows Classicという形で普通のWindowsのネイティブアプリと違和感のない画面に変更できます。想像しているJava Swingの画面ももちんありますが。
あと、安定性については今まで使っていて落ちたことなどは一度もありません。JavaVM自体もよくなっているでしょうしアプリケーションも結構年数がたっているので問題ないと思いますよ。
ぜひ試してみてください。
Re:SQuirrel SQL Client (スコア:1)
jarファイル実行してProgram Files以下にインストールしようとして権限で拒否られました……
もうちょっとjavaアレルギーと格闘しながら頑張ってみます。
Re:SQuirrel SQL Client (スコア:2)
自分の場合、zip展開で済ませてしまっているので…。
任意ディレクトリへのzipして、展開してできたsquirrel-sql.bat を実行すれば起動するはずなので、それで試してみてください。
Re:SQuirrel SQL Client (スコア:1)
javaw.exe -jar xxx.jar ですね。
Windows 7(Vista以降?)は拡張子関連の設定が隠れてしまって、関連付けがどうなっているか確認に手間取ります。
結局、Process Explorerでセットアップ画面がどういう起動の仕方をしてるのか確認して上記コマンドを管理者として実行でいけました。
java.exeやらjavaw.exeやらの引数が頭に入っていれば、こういう躓き方はしないんでしょうけど。
そもそもProgram Filesなんて不便なところに素直にインストールする理由もあまりないんですけどね。
Java Swingな画面の見た目は正直慣れだとは思うのですが、ショートカットキーなどの体系がWindows Formと異なるあたり、正直Windows漬けの身には厳しいです。
具体的にはalt押してもメニュー開けないとか。
そんなわけで、なんだかんだでインストールはできましたが、接続先設定追加で躓いてます。
とりあえず必要なOracleとMSSQLはインストール時に追加したのですが、Add AliasのDriver選択で×ついてます。
Program Files以外にインストールし直そうかなぁ……
Re:SQuirrel SQL Client (スコア:1)
ああ、これ別途jdbcドライバが必要なのね、と気付いてとりあえずMSSQL用のものを拾ってきたのですが……
http://www.microsoft.com/ja-jp/download/details.aspx?id=11774 [microsoft.com]
ダメだ、ドライバの追加方法がよくわからない……気長にチャレンジします。
Re:SQuirrel SQL Client (スコア:2)
なんだか手間を取らせてしまってすいません。
JDBCドライバが手元にあるのであれば、以下で有効かできます。
ドライバの「×」が見えている箇所でMSSQL Driverを選択してコンテキストメニューから「ドライバの変更」を選択します。開いたポップアップで「Extra Class Path」タブを選択し「Add」ボタンを押下するとファイル選択ポップアップが開くので、ダウンロードしてきたJDBCドライバを選択すればOKです。
MS SQL 以外のDBも同じ手順でいけます。ドライバ設定後は接続情報を個別に作成していきます。接続情報は「Aliass」から追加でいけますので試して下さい。
Re:SQuirrel SQL Client (スコア:1)
ありがとうございます。
MSSQLのjdbcドライバインストール行けました!
Oracleのjdbcドライバを入手しようとOTN行ったらアカウントとパスワード忘れてロックかかっちゃいました。
それについては後ほど適当にojdbc6,jar探してくるとして……
MS SQL server用の接続情報作成したのですが、エラー出て繋がらないです。
"Unexpected Error occurred attempting to open an SQL connection."
ここまできたらjdbcかURLの問題だと思うので、ゆるゆると原因追求を進めてみます。
#サーバー側ではOASやらWeblogicやらを使用するので、jdbcまわりの理解を深めておくのはダイレクトに役立つのです。
Re:SQuirrel SQL Client (スコア:2)
MS SQL server用の接続情報作成したのですが、エラー出て繋がらないです。
"Unexpected Error occurred attempting to open an SQL connection."
ここまできたらjdbcかURLの問題だと思うので、ゆるゆると原因追求を進めてみます。
「Show Stacktrace」のようなボタンがあるので、押してみるとエラーの詳細が表示されます。
が、たぶんJDBC接続時のURLの問題だと思います。
jdbc:sqlserver://server_name:1433;databaseName=db_name
がテンプレートなので、
jdbc:sqlserver://example.com:1433;databaseName=hogeDB
のように記述すればつながるはずです。接続は通常のTCPでのソケット通信なので、場合によってはtelnetで疎通を確認してみるのもよいかもしれません。Firewallとかは最低限事前に確認したほうがよいでしょう。
なんかだツールをすすめておきながら苦労させてすいません。ほかのツールがあればそちらを使ってもらって、無理にSQuirrel SQL Clientをつかなくても…。使っていただけると嬉しいですが。
Re:SQuirrel SQL Client (スコア:1)
すみません、色々ありがとうございます。
MS純正jdbcドライバにはsqljdbc.jarとsqljdbc4.jar2つのファイルがあるのですが、今回使用すべきなのは後者だったようです。
http://msdn.microsoft.com/ja-jp/library/ms378422.aspx [microsoft.com]
そういうわけで、無事接続できました。
まだあまり触っていませんが、機能が豊富で良いですね。
L&F設定もWindowsに変更してみたところ、altキーでメニュー操作等が可能になりました。
残念ながら微妙にJAVAっぽいUIは残りますが、それでもフォントなどがWindowsっぽくなっていい感じです。
SI Object Browser (スコア:0)
業務で使うならSI Object Browserでしょう。
1ライセンスだと高いけど、10ライセンスぐらい会社でまとめて買ってもらえば割安だし。
ERMaster (スコア:0)
ER図作成とかの用途がメインなら、Eclipseプラグインの「ERMaster [sourceforge.net]」とかどうでしょうか?
結構立派なER図がエクスポートできるので、上司とかにも良いんですよ~と説明しやすいです。
データの閲覧とかそういう用途にはまるっきり向きませんけど。
逆にそういう用途なら、「SI Object Browser [sint.co.jp]」(買ってもらえるなら)、「Oracle SQL Developer [oracle.com]」(Oracleなら)、SQL Serverの公式クライアント(SQL Serverなら)、「pgAdmin [pgadmin.org]」(PostgreSQLなら)、「CSE [hi-ho.ne.jp]」(その他なら)、とかでしょうか・・・。
Re:ERMaster (スコア:1)
ER図作成についてはあまり必要に迫られたことがないということもあって、A5:SQL Mk-2ってあまり使わないなーってことなんです。
SI Object Browserは流石に……買ってもらえないとは思うけど、試用だけしてみようかな?
しかし結局公式クライアントか、汎用用途ならCSEでいいやってなっちゃうんですよね。