
JDBCドライバを使ってFileMakerに接続して、Javaでレコードを作成してみる
こんにちは。solb system の Teruhiro Kömaki です。
攻撃力のあるラーメン食べると、お腹を壊し、翌日、必ず後悔するんですけども、
どうしても「ラーメン食べたいなー!」って、誘惑に負けてしまって困っています。
なんでお腹痛くなるのに、食べたくなるんでしょうね?本当に不思議です。
さて、最近は、Javaの勉強を猛烈にしておりまして、楽しくてしょうがないんですけども。
Javaといえば、やっぱりサーバーサイドなわけでして。
ビギナーな私としては、色々と勉強していると、やっぱり処理結果や内容が目に見えて欲しいって思うわけですよね。
現時点では、インターフェース部分は、あんまし考えていないのですが、今のところは、WebかAndroidのエミュレーターで遊んでおります。
けど、そんなJavaも Google Chrome でサポートされなくなったのが、少し残念です。。。
そんな話はさておきまして、FileMakerとJavaは個人的にはすごく相性が良いと思っています。
FileMaker Server をインストールすると Tomcat がインストールされますし、サードパーティーのツールでも、Javaがけっこう使われてますよね。
けども、以外にネットでは「JDBCを使ってFileMakerに接続しよう!」的なコンテンツが少ないなって思いました。
なので、何回かに分けてまとめてみようと思ってます!
今回はJDBCドライバを使ってFileMakerに接続して、Javaでレコードを作成してみるということで、ちょろっと書いてみます。
JDBCドライバを入手する
まずは、FileMaker社のサイトからドライバをダウンロードしませう。
もしくは、インストール時のCDにドライバも入っていますので、インストールディスクからでもOKです。
【関連】FileMaker 13 ODBC と JDBC ガイド[pdf]
【関連】ソフトウェア アップデート: FileMaker xDBC クライアントドライバ | FileMaker
JDBCドライバをインストールする
WindowsのODBCドライバのインストールの場合だと「インストールしますか?」ってなって、インストールしたぜ感!があるんですが、JDBCの場合はドライバをJAVA_HOMEに設定されているフォルダに配置するだけなので、一般的なインストール感はありません。
Javaやってる人は普通だと思いますが。。。
今回は、こちらをダウンロードしました。
FM13.0v5_xDBC_13.2.14.dmg
すかさず JDBC Client Driver を開いてドライバ(fmjdbc.jar)をコピーする。
fmjdbc.jar
JAVA_HOMEに設定されているディレクトリーに配置する。
私の環境では、下記のフォルダにファイルを配置しました。
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/lib/fmjdbc.jar
別に、決まっているわけではないので、下記のフォルダでも大丈夫です。
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/fmjdbc.jar
IntelliJ IDEA で JDBCドライバ(fmjdbc.jar)が設定されているか確認する
私は IntelliJ IDEA という IDE を使っていますが、皆様、お使いのIDEにて確認してみてください。
コンパイルして実行する
今回は、新規レコードを追加するだけの簡単なコードです。
無事、コンパイルエラーもなく、正常に実行できました。
すごく簡単ですが、今回はこんな感じで終了っす!
サンプルコード
まずは、こんな感じですので、よければ参考にしてみてください。
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class Main { public static void main(String[] args) { //System.out.println("Hello World!"); try { Class.forName("com.filemaker.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } Connection con = null; try { con = DriverManager.getConnection("jdbc:filemaker://localhost/Untitled","user","user"); PreparedStatement pstmt = con.prepareStatement("INSERT INTO Untitled values (?, ?, ?, ?)"); pstmt.setInt(1, 1); pstmt.setString(2, "Tanaka"); pstmt.setString(3, "Men"); pstmt.setInt(4, 24); pstmt.executeUpdate(); System.out.println("レコード作成しました。"); } catch (SQLException e) { e.printStackTrace(); } finally { if (con != null) { try { con.close(); } catch (SQLException e) { e.printStackTrace(); } } } } }
関連リンク
【関連】FileMaker 13 ODBC と JDBC ガイド[pdf]
おわり
FileMakerでホストしているファイルの設定(アクセス権と共有)のご確認もお忘れなく!ちなみに、ポートは 2399 を使います。
今度、やってみようと思ってますが、Web公開って FileMaker Server じゃないとできないと思ってるんですが、WebサーバーにTomcat設定してサーブレットでアプリケーション作れば、FileMaker Pro でもいけるんではないかと思っています。
詳しい方いたら、是非とも教えて頂きたいっす!
最後にぶち込むようで申し訳ないのですが、FileMaker社としては、おそらく、Web経由でのアクセスにしていき、WebDirectでの接続を増やしていくってことなんだと思いますが、個人的には、エミックさんの FMPress Publisher が最強だと思ってます。
「FMPress Publisher ってなんでしょうか?」っていう人は、是非ともデモサイトを見てみてください!
FMPress Publisherデモサイト
https://demo.emic.co.jp/
FMPress Publisher
https://www.emic.co.jp/fmpress/publisher/
もし、オンプレ構築している FileMaker Server で FMPress Publisher が使えるような、エンタープライズ向けのライセンスが販売されるようになったら、すごいことになると思ってまして。。。
密かに期待しています!
FileMakerを勉強したい人へ
FileMakerをしっかりと勉強するのであれば、オフィシャルの学習用テキストが一番確実です。
体系立てて習得できるので、断片的に勉強するよりも理解もしやすいはずです。
ということで FileMaker Training Series をやるべし!
FileMaker Training Series には基礎編と応用編の2種類があります。
さらに FileMaker Training Series に近いのですが、もうひとつ別で FileMaker Drill Book というテキストがあります。
まずは、オフィシャルの学習用テキストを購入して、コツコツ勉強することが一番の近道だと思います。
- FileMaker Training Series 基礎編
- FileMaker Training Series 応用編
- FileMaker Drill Book
- FileMaker 関数スクリプト・ビギナーズガイド
少しでもお役に立てたことがあれば シェアしていただけると嬉しいです
via PressSync