|
カテゴリ:IronPython
『IronPythonの世界』を読む (7) からの続き。Part 4 はとりあえず適当に流して、Part 5 IronPython で DB & Web プログラミングに入る。ここでは、SQL Server 2005 を使っている。
IronPythonの世界 具体的に書かれているのは、ADO.NET を使って SQL Server 2005 に接続するやり方だけで、SQLite や MySQL 等を使うにはどうしたらいいかとかいうのはない。 p.304 に 「CPython のデータベース接続を使う」というページがあって、FePy プロジェクト や IronPythonでADO.NET パート1、IronPythonでADO.NET パート2 のリンクがあげられている。このあたりを参考にすれば、なんとかなるんだろうということで、後から試してようかと思う。DB 接続の部分は、できれば DBAPI 互換のライブラリを使って、CPython のプログラムと共通化したい。 IronPython を使うと、.NET の世界とは仲良くなれる反面、既存の Python の資産を有効に扱いづらいというデメリットもある。基本的にはマルチプラットフォームのものが好きなので、うーむと読み進めるにしたがって思ってしまうのだが、Windows に閉じた世界でやる分には、まあ、便利でよろしいかなと。例えば、IronPython から MS の日本語固有ニーズに対応したライブラリを使う 「プログラミング言語 Python を使う みたいなこともできるし、自然言語処理関連のライブラリ SlothLib をちょこっと使う にしても、 『IronPython の世界』を読む (4) で IronPython から使ってみているけど、CPython + ctypes で C のライブラリを使うよりも、IronPython + .NET のライブラリを使う方が楽なわけで、欲しいライブラリが .NET で書かれていれば、やっぱり IronPython を使うメリットは大きいとも思う。ちょっとアンビバレント。 とりあえずは、SQL Server 2005 を使って書かれているとおりにやってみる。ということで、また一つ、一時的に Microsoft に洗脳されてあげることにする。 書籍には、URL が書かれているが打ち込むのが面倒なので、SQL Server 2005 - ダウンロード のリンクからダウンロードするのがよいだろう。SQL Server 2005 Express Edition with Advanced Services Service Pack。これは SP2 があたっているので、書籍に書かれているように別途 SP2をあてる必要がない。 Advanced を使っている理由は、
ということで、インストールするときに SSMSE のインストールオプションを忘れずにということだ。デフォルトだとインストールされないから。確かにこれはインストールしておいた方が便利だろう。SSME のテンプレートエクスプローラーとかも密かに便利ね。テンプレートの中から Backup Database を使えばテンプレートをほいと作ってくれるとか。なんだかんだで、こういう GUI はオープンソース系よりプロプライエタリなやつの方が充実している。SQL Server Management Studio でテンプレートを使用する方法、 SQL Server 2005の管理ツール (@IT)。集中連載 : SQL Server 2005 と Oracle 10g の真実 第 7 回 メンテナンス プランの作成 ~ 定期的なメンテナンス作業の簡単なセットアップとバックアップ、復元。それにしても、3年前のリリースのものだと資料がたくさん簡単に見つかる。 そういえば、この数年 MS SQL Server って使ってなかったというのはさておき、サンプルデータベースは、Northwind and pubs Sample Databases for SQL Server 2000 と SQL Server 2005 Samples and Sample Databases (ここに移動)で、Express Editions 用サンプル データベースのインストール のあたり。 とりあえず書籍のNorthwind and pubs Sample Databases for SQL Server 2000を使ってテストする。instpubs.sql と instnwnd.sql を実行してサンプルデータベースを作るが、このあたりの手順、書籍ではちゃんとされているので、SQL Server を使ったことがない人でもたぶん大丈夫だと思う。ADO.NET の仕組みなんかも簡単に説明されている。それゆえ、また洗脳が行われるw とりあえず、データベースを作成後、書籍を参考に、下のようなテストをしてみる。接続は Windows 統合認証ではなく SQL Server 認証を使った。User ID=sa;Pwd=password のところが Windows 統合認証なら Integrated Security=true になる。このあたりは、Python のお話というより、通常の SQL Server の接続文字列のお話になるが。
p. 294 に次のような記述がある。
なので、上記の ConnectionString のところは、サンプルでは、conn.ConnectionString = "server=(localhost):Database=pubs;Integrated Security=true" になっている。 セキュリティ上の観点から言うと、スクリプトにパスワードを書きこまなくても済む Windows統合認証というのは、特に企業内でアプリケーションを多数に配る場合に便利かつ安全で良いかもしれない。そうでなければ、毎回、使用時にパスワードを訪ねる必要がある。Windows であれば、そんな必要はない。これは大きなメリットだ。 と、また、マイクロソフトに毒されてみるw シングルサインオンですぜと。でも、本当にそれは正しい面もある。 毎回パスワード入力するなら、OpenLDAP を使って python-ldap を使うとかあり得るが、それじゃあなんだから Kerberos でというのなら、PyGSS: Python bindings for the GSS-API とか。 あるいは、ウェブアプリケーションなら Lasso - Liberty Alliance Single Sign On あたりもそのうち見てみるか。 PKIとPMIを融合する新しいXMLベースのセキュリティメカニズム【連載】Webサービスのセキュリティ。SaaS市場でもSIビジネスが成長か サイオス、Google Apps導入でSIサービス開始、SIOS Integration for Google Apps とは、という方向だってあるだろう。 でも、とりあえず、そういうことはどうでもいいや。 お気に入りの記事を「いいね!」で応援しよう
Last updated
2008.04.19 07:58:55
コメント(0) | コメントを書く
[IronPython] カテゴリの最新記事
|