Calendar
SunMonTueWedThuFriSat
    123
45678910
11121314151617
18192021222324
252627282930 
<< June 2017 >>
Recommend
New Entries
Archives
Categories
Recent comment
Recent trackback
Profile
Links
Sponsored Links
Mobile
qrcode
Admin
無料ブログ作成サービス JUGEM
Seach this site
2009.12.11 Friday
スポンサーサイト

一定期間更新がないため広告を表示しています

| スポンサードリンク | - | | - | - | pookmark |
2009.08.07 Friday
PostgreSQLからMySQLへいってSQLServerまでいってきました。
園芸が好きで「ネギの成長」でここにたどりついた人、難しい話ですみません。
技術屋さんで、ホントに詳しい人、たいした情報なくて、すみません。

技術関係のテキストなどで時々みかけるのは、「ここに書いてあることは、理解している人じゃないと意味がわからないけど、理解している人にはすでに不要なことしか書いてない」という感じのものがあります。そういう風にならないように書きたいのですが、いかんせん広く浅く「鶏口となれど牛後となるなかれ」 を座右の銘として生きている中の人にはこれが結構難しい課題だったりもします。

そんなインキーしてしまったような話題はともかく、今日はデータベースのことについてちょっとあれこれ試してみました。

これまでデータベースといえば、中の人は主にPostgreSQLを使ってきたのですが、レンタルサーバにMySQLしか入ってないところが多く、最近はちょっとMySQLに傾きかけています。ネットやイントラ系の作業はそれでいいのですが、その延長でVBをつかってちょっとしたデータを扱うアプリケーションを作成する時も、Windows用のPostgreSQLを使ったりして処理してきました。ところが、この接続が結構面倒くさかったりするので、なにかいい方法はないかなーと思っていました。

で、今回またそのローカルなDBに接続する必然性のあるお仕事がやってきそうになったので、そのあたりを調べてみようと思いました。これまで、SQLServerやオラクルはとっても高くて手がでないというイメージがあったのですが、MSはexpressのラインナップをただで配布しているし、SQLSeverにもexpressのバージョンがあったなーと思い、なんだかイメージ的に(金額的に)敷居のたかかったSQLサーバーを試してみることにしました。
正式名称は、Microsoft SQL Server 2008 Express です。

検索すると、すぐにヒットするのがMSのダウンロードサイト

どうも書いてあることを読むと、バージョンもいろいろあるようです。
単純にデータベースだけのものもありますが、どうやら操作するのに簡単なDB管理環境みたいなものもあるので、そっちも使える「Microsoft® SQL Server® 2008 Express with Tools」というバージョンを選ぶことにしました。

インストール前の準備が必要なようです。

1: Microsoft .Net Framework 3.5 SP1 
2: Windows インストーラ 4.5
3: Windows PowerShell 1.0

なんか、簡単なはずがめんどくさくなってきたなー、と思いながらも、インストールをすすめます。

インストール

実は、PowerShellをインストールせずに、本体のインストールを始めてしまったのですが、インストール中に何か足りないものがあっても、インストールの途中で警告がでるので、そこで止まって足りないものをダウンロード&インストールして、つづきを継続させることもできます。

さて、インストールが終わると、「SQL Server Management Studio」という聞いただけでとっても便利そうなツールが使えるようになります。早速起動。

DB作成

すると、データベースをつくるようにうながされます。
サーバの種類にSQL Server Compact Editionを選んで(Expressじゃなかったのか?)、データベースファイルを適当なフォルダを選んで適当なファイル名をつけます。で、パスワードを適当につけて接続。

するとすぐにデータベースを作成できました。
テーブルを選んで「新規作成」すると、これもGUIで作成できます。

テーブル作成

新しいクエリをつくって、INSERT文で適当にデータを入れて、その後、SELECTで表示させてみました。

マネージ

おお。なんか簡単だ。このあたりから、MySQLやPostgreSQLより簡単に思えてきはじめました。

さて、問題のVBとの接続。
VS2008があると、すぐに使えるみたいに書いてありましたが、どうやらVB2008もSP1にアップグレードしておかないといけないみたいです。
なので、すぐにアップグレード。VS12008SP1

VS

そして、新しいプロジェクトでフォームの中にデータグリッドを作成して、データソースを新規に作成してみました。

データソース選択

DB接続

ここでさっきつくったデータベースのファイルを選択して、パスワードを入力します。

最後にフォームにボタンをつけて、データグリッドで入力したものをデータベースに反映させるためのupdateコマンドを実効させるようにします。


Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO: このコード行はデータを '_MyDatabase_1DataSet.mytable1' テーブルに読み込みます。必要に応じて移動、または削除をしてください。
        Me.Mytable1TableAdapter.Fill(Me._MyDatabase_1DataSet.mytable1)

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.Mytable1TableAdapter.Update(Me._MyDatabase_1DataSet.mytable1)
    End Sub

End Class


それで実効してみると、、

アプリケーション

おお。でけた。

postgresをVBに接続した時はかなりわからないことが多くて、結構時間がかかりましたが、今回は、わずか数分で接続OK。いや、やっぱり簡単でした。

さて、一歩つっこんで。

どんなしくみで動いているんだろう?と思って、開始されているサービスとかさぐってみましたが、どうもSQLサーバ本体みたいなものが見あたりません。
PostgreSQLやMySQLの感覚からいうと、やぱりサーバーデーモンが動いていて、SQLのリクエストに対して結果をはき出してくれる、みたいに思っていましたが、違うのでしょうか?
そこまでは確認できませんでした。もしかして、アクセスのファイルをDBみたいに使うようにファイルをDBのソースとして使っていて、特にサーバはうごいていないのでしょうか?もしも、そうなら、使うときだけ動くとってもイイヤツってことになるんですが、そのあたりの本当のことはよくわかりません。
もしも、サーバがサービスとして稼働しているなら、これの関係する開発をしてないときは、そのサービスを止めておきたいな、と思ったりもしているので。

ということで、SQL Server 2008 Express エディションは無料で再配布できるそうなので、VBでアプリをつくった時のDB元としては、いいんじゃないかと思っています。もしも、ほんとうにサービスが動いてないなら、Windows版のPostgresもサービスなので、完全に代替えにしてもよさそうだなーと。後はどれくらいメンテナンス性があるかですが、ファイルベースみたいなので、DBのダンプをとらなくても、ファイルをコピーでバックアップできたりするならとても便利。おまけに、VBに取り込むときに、ファイルをコピーしていたので、DBのコピーもとても簡単そうです。

*****
読み直してみると、やっぱりわかっている人にしかわからない、意味不明な文章になっている。。。
| ねぎうぉっち中の人 | 技術テスト | 00:20 | comments(0) | trackbacks(0) | pookmark |
2009.12.11 Friday
スポンサーサイト
| スポンサードリンク | - | 00:20 | - | - | pookmark |
Comment









Trackback
URL : http://negiwatch.jugem.jp/trackback/23