VBとデータベース
投稿者 るきお  (社会人)
投稿日時
2009/5/15 21:55:49
こんにちは。
どの程度のレベルで稼動させるかによって話が変わってくると思います。
例:
高レベル ←24時間365日稼動、1日くらい停まっていてもOK→低レベル
低レベルよりの話であればデータベースをSQL Server Expressにして無料のVisual Basic 2008 Express Editionを使うことでも構築可能かもしれません。
基本的にExpress Editionはプログラミング言語としてのVBや.NET Frameworkの全機能が使用できのでかなりのことができます。
いろいろと便利なツールを使って作業を楽にしたいのであれば上のエディションが必要になってきますが、
どのような作業が発生するか見えないとなんともわかりません。
2005のものですがエディション比較を抜粋したものを書きました。
http://homepage1.nifty.com/rucio/main/VBdotNet/AboutVB/VB2005Editions.htm
詳細はやはりマイクロソフトのサイトを見る必要があります。
http://www.microsoft.com/japan/msdn/vstudio/products/vs08/compare.aspx
具体的な機能や作業のイメージを伺えばそれらについて個々のアドバイスはできます。
どの程度のレベルで稼動させるかによって話が変わってくると思います。
例:
高レベル ←24時間365日稼動、1日くらい停まっていてもOK→低レベル
低レベルよりの話であればデータベースをSQL Server Expressにして無料のVisual Basic 2008 Express Editionを使うことでも構築可能かもしれません。
基本的にExpress Editionはプログラミング言語としてのVBや.NET Frameworkの全機能が使用できのでかなりのことができます。
いろいろと便利なツールを使って作業を楽にしたいのであれば上のエディションが必要になってきますが、
どのような作業が発生するか見えないとなんともわかりません。
2005のものですがエディション比較を抜粋したものを書きました。
http://homepage1.nifty.com/rucio/main/VBdotNet/AboutVB/VB2005Editions.htm
詳細はやはりマイクロソフトのサイトを見る必要があります。
http://www.microsoft.com/japan/msdn/vstudio/products/vs08/compare.aspx
具体的な機能や作業のイメージを伺えばそれらについて個々のアドバイスはできます。
投稿者 刈谷勇  (社会人)
投稿日時
2009/5/15 22:10:30
たつやさん、こんにちは。
私も、るきおさんと同意見でExpress Editionのコンビでいいかと思います。
Express Editionに使い慣れてから、上位Editionの機能を確認し必要に応じてアップグレードすればいいかと思います。
ただ、SQL SERVERはExpress Editionだと要領制限が2GBなので注意が必要です。
私も、るきおさんと同意見でExpress Editionのコンビでいいかと思います。
Express Editionに使い慣れてから、上位Editionの機能を確認し必要に応じてアップグレードすればいいかと思います。
ただ、SQL SERVERはExpress Editionだと要領制限が2GBなので注意が必要です。
投稿者 たつや  (社会人)
投稿日時
2009/5/15 23:26:36
るきおさん、刈谷勇さん、早速ご回答いただきありがとうございます。
業務内容はいたって低レベルな内容で、データの画面入力と帳票(伝票)類の出力を朝から夕方までの時間帯に少々するくらいです。データ件数も3万件程度です。
ただ、ご回答いただいたExpressEditionの内容をエディション比較を抜粋したページで確認してみますと、SQL Serverアプリケーションが作成できない仕様のようですが、このあたりはAPIやコントロールを追加して対応していく形になるのでしょうか?
今回のシステムの作り直しは、後からなるべく簡単に修正・追加ができるようにとも考えています。できることならば、APIや追加コントロールは使わない方向で、私以外の人間にも理解しやすいようにしたい訳です。
--------------------------------------------------------------------------------
また、少々話が外れますが、某オークションにおいて、未開封アカデミック版が低価格で出品されているようですが、これらを使った場合は何か問題がありますでしょうか?
業務内容はいたって低レベルな内容で、データの画面入力と帳票(伝票)類の出力を朝から夕方までの時間帯に少々するくらいです。データ件数も3万件程度です。
ただ、ご回答いただいたExpressEditionの内容をエディション比較を抜粋したページで確認してみますと、SQL Serverアプリケーションが作成できない仕様のようですが、このあたりはAPIやコントロールを追加して対応していく形になるのでしょうか?
今回のシステムの作り直しは、後からなるべく簡単に修正・追加ができるようにとも考えています。できることならば、APIや追加コントロールは使わない方向で、私以外の人間にも理解しやすいようにしたい訳です。
--------------------------------------------------------------------------------
また、少々話が外れますが、某オークションにおいて、未開封アカデミック版が低価格で出品されているようですが、これらを使った場合は何か問題がありますでしょうか?
投稿者 へつ  (社会人)
投稿日時
2009/5/15 23:45:43
こんにちわ。
的外れかもしれませんが、VB前提で,それほど大きなデータベースではないのであれば、
Accessで作成してみてはどうでしょうか。
10年前のVBの知識と言うことなので、.netよりもVBAの方が習得は早いと思われますし。
的外れかもしれませんが、VB前提で,それほど大きなデータベースではないのであれば、
Accessで作成してみてはどうでしょうか。
10年前のVBの知識と言うことなので、.netよりもVBAの方が習得は早いと思われますし。
投稿者 ヴァン  (社会人)
投稿日時
2009/5/16 01:57:53
>未開封アカデミック版が低価格で出品されているようですが、これらを使った場合は何か問題がありますでしょうか?
問題ありですね。
アカデミック版は学生や学校向けですから。
それほど大規模でなければVisualStudioはスタンダード版でも大丈夫だと思います。
DBはMySQLとか。
問題ありですね。
アカデミック版は学生や学校向けですから。
それほど大規模でなければVisualStudioはスタンダード版でも大丈夫だと思います。
DBはMySQLとか。
投稿者 neptune  (社会人)
投稿日時
2009/5/16 02:27:08
お邪魔します。
>SQL SERVERはExpress Editionだと要領制限が2GBなので注意が必要です
ってのが目に入りましたので。
Microsoft SQL Server
出典: フリー百科事典『ウィキペディア(Wikipedia)』より
http://ja.wikipedia.org/wiki/Microsoft_SQL_Server
SQL SERVERはExpress Editionについての解説より
・データベースのサイズが最大2GBから4GBまで拡張された。
・物理CPUの認識が1つに制約
・メモリの使用量が1GBまで縮小されたりするなどの制約もある。
・MSDE 2000に存在したジョブスケジュールなどの機能が省かれた。
数台の接続、データ数数万件ならExpress Editionで充分なのでは?
DBをおくPCにSQL Server Management Studio Express Editionもインストールして
やれば楽チンと思います。
VB EEバージョンでもクライアントアプリケーションは作れると思うのですが。?
まぁ予算が許すならStandard Edition 以上出来ればProfessional Editionが楽チンかと思います。
お邪魔しました。
あっ、みんなで使うならAccessは止めといた方が良いです。数年前に実体験でmdeが
壊れてるの見た事あります。
mdeとWindowsが認識もせず、正体不明のファイルになってました。^ ^;
>SQL SERVERはExpress Editionだと要領制限が2GBなので注意が必要です
ってのが目に入りましたので。
Microsoft SQL Server
出典: フリー百科事典『ウィキペディア(Wikipedia)』より
http://ja.wikipedia.org/wiki/Microsoft_SQL_Server
SQL SERVERはExpress Editionについての解説より
・データベースのサイズが最大2GBから4GBまで拡張された。
・物理CPUの認識が1つに制約
・メモリの使用量が1GBまで縮小されたりするなどの制約もある。
・MSDE 2000に存在したジョブスケジュールなどの機能が省かれた。
数台の接続、データ数数万件ならExpress Editionで充分なのでは?
DBをおくPCにSQL Server Management Studio Express Editionもインストールして
やれば楽チンと思います。
VB EEバージョンでもクライアントアプリケーションは作れると思うのですが。?
まぁ予算が許すならStandard Edition 以上出来ればProfessional Editionが楽チンかと思います。
お邪魔しました。
あっ、みんなで使うならAccessは止めといた方が良いです。数年前に実体験でmdeが
壊れてるの見た事あります。
mdeとWindowsが認識もせず、正体不明のファイルになってました。^ ^;
投稿者 るしぇ  (社会人)
投稿日時
2009/5/16 03:07:46
> ただ、ご回答いただいたExpressEditionの内容をエディション比較を
> 抜粋したページで確認してみますと、SQL Serverアプリケーションが
> 作成できない仕様のようですが、このあたりはAPIやコントロールを
> 追加して対応していく形になるのでしょうか?
VB2005 Express Edition の時は。。。
ウィザードを使ってデザイン画面から接続を作成することができないだけだった
と思います。雑誌についてたのをインストールして System.Data.SqlClient
を使って普通にコードからデータベース(SQLServer)接続できてました。
インストーラが付いてなかった方が痛かったです。
※客先に情報部があってインストーラ付きのサンプルが示されたから。
VB2008 は時間があったら調べて見ます。
> 抜粋したページで確認してみますと、SQL Serverアプリケーションが
> 作成できない仕様のようですが、このあたりはAPIやコントロールを
> 追加して対応していく形になるのでしょうか?
VB2005 Express Edition の時は。。。
ウィザードを使ってデザイン画面から接続を作成することができないだけだった
と思います。雑誌についてたのをインストールして System.Data.SqlClient
を使って普通にコードからデータベース(SQLServer)接続できてました。
インストーラが付いてなかった方が痛かったです。
※客先に情報部があってインストーラ付きのサンプルが示されたから。
VB2008 は時間があったら調べて見ます。
投稿者 刈谷勇  (社会人)
投稿日時
2009/5/16 03:58:51
neptuneさん、ご指摘ありがとうございます。
>・データベースのサイズが最大2GBから4GBまで拡張された。
すみません、うろ覚えで書いてしまいました。
申し訳ありませんでした。
>・データベースのサイズが最大2GBから4GBまで拡張された。
すみません、うろ覚えで書いてしまいました。
申し訳ありませんでした。
投稿者 刈谷勇  (社会人)
投稿日時
2009/5/16 04:09:47
(途中で投稿してしまった)
VB2008ExpressEditionでも普通にサーバーのDBに接続できますよ。
自分の環境がそうです。
あと、neptuneさんもご指摘の通り、accessはお勧めできません。
私も、複数接続の環境で何度もDBが壊れた経験があります。
ちなみに、今の開発環境は
サーバー機にXp proとSQL SERVER2008 Expressが動いているという環境です。
(まるで、スバル360のボディにポルシェのエンジンを乗せているみたい)
VB2008ExpressEditionでも普通にサーバーのDBに接続できますよ。
自分の環境がそうです。
あと、neptuneさんもご指摘の通り、accessはお勧めできません。
私も、複数接続の環境で何度もDBが壊れた経験があります。
ちなみに、今の開発環境は
サーバー機にXp proとSQL SERVER2008 Expressが動いているという環境です。
(まるで、スバル360のボディにポルシェのエンジンを乗せているみたい)
投稿者 たつや  (社会人)
投稿日時
2009/5/16 05:32:25
沢山の方々のアドバイスに感謝いたします。
やはり、データベースをSQL Server ExpressにしてフロントにVisual Basic 2008 Express Editionを使うのが一番良いみたいですね?
あと一つだけ、刈谷勇さんの言われている
>VB2008ExpressEditionでも普通にサーバーのDBに接続できますよ。
とは、どのレベルなんでしょうか?SQL Server ExpressにアクセスできるコントロールがVisual Basic 2008 Expressに付いていると考えていいのでしょうか?今でもVBでもDelphiでも書けるとは思いますが、何せ、もう年寄りなんで・・・。
やはり、データベースをSQL Server ExpressにしてフロントにVisual Basic 2008 Express Editionを使うのが一番良いみたいですね?
あと一つだけ、刈谷勇さんの言われている
>VB2008ExpressEditionでも普通にサーバーのDBに接続できますよ。
とは、どのレベルなんでしょうか?SQL Server ExpressにアクセスできるコントロールがVisual Basic 2008 Expressに付いていると考えていいのでしょうか?今でもVBでもDelphiでも書けるとは思いますが、何せ、もう年寄りなんで・・・。
投稿者 るきお  (社会人)
投稿日時
2009/5/16 08:09:21
>ただ、ご回答いただいたExpressEditionの内容をエディション比較を抜粋したページで確認してみますと、
>SQL Serverアプリケーションが作成できない仕様のようですが、このあたりはAPIやコントロールを追加して対応していく形になるのでしょうか?
いいえ。
プログラム言語としてのVBも.NET Frameworkも完全なものがExpress Editionで利用でき、APIやコントロールも一通りそろっています。
上位エディションのSQL Server対応はたぶんストアドプロシージャ(SQL CLR)の開発やエンティティ(型指定されたデータセット)の生成などを楽にするためのツールのことを指しているのだと思いますが、使う人もいれば使わない人もいるといった状況だと思います。話を伺った感じではこういった機能はつかわずシンプルな作りになるのではないかと想像しました。
サーバーエクスプローラも上位エディションのみですが、SQL Server ExpressのManagement Studioを使えばいいだけの話です。
それよりもテストやバージョン管理などの機能もExpress Editionにはないので、そういった開発プロセス支援機能がなくても大丈夫かのほうが気になります。
Express Editionはとにかく無料なので、実際に使ってみて感覚をつかんだほうが良いかもしれません。
いろいろ調査して最後にいざと使ってみるとイメージと違ったとなるとダメージがありますよね。
>SQL Serverアプリケーションが作成できない仕様のようですが、このあたりはAPIやコントロールを追加して対応していく形になるのでしょうか?
いいえ。
プログラム言語としてのVBも.NET Frameworkも完全なものがExpress Editionで利用でき、APIやコントロールも一通りそろっています。
上位エディションのSQL Server対応はたぶんストアドプロシージャ(SQL CLR)の開発やエンティティ(型指定されたデータセット)の生成などを楽にするためのツールのことを指しているのだと思いますが、使う人もいれば使わない人もいるといった状況だと思います。話を伺った感じではこういった機能はつかわずシンプルな作りになるのではないかと想像しました。
サーバーエクスプローラも上位エディションのみですが、SQL Server ExpressのManagement Studioを使えばいいだけの話です。
それよりもテストやバージョン管理などの機能もExpress Editionにはないので、そういった開発プロセス支援機能がなくても大丈夫かのほうが気になります。
Express Editionはとにかく無料なので、実際に使ってみて感覚をつかんだほうが良いかもしれません。
いろいろ調査して最後にいざと使ってみるとイメージと違ったとなるとダメージがありますよね。
投稿者 (削除されました)  ()
投稿日時
2009/5/16 08:11:48
(削除されました)
投稿者 たつや  (社会人)
投稿日時
2009/5/16 16:44:20
皆さん、おはようございます。
沢山のレス(アドバイス)をありがとうございました。
とりあえずお勧めのExpressEditionを触ってみたいと思います。
久しぶりのVBなのでわくわくしていますが、勢いがつくまでが大変ですね。年寄りなんで・・・。
また時々お邪魔させていただくこともあるかもしれませんが、その時はよろしくお願いします。有難うございました。
沢山のレス(アドバイス)をありがとうございました。
とりあえずお勧めのExpressEditionを触ってみたいと思います。
久しぶりのVBなのでわくわくしていますが、勢いがつくまでが大変ですね。年寄りなんで・・・。
また時々お邪魔させていただくこともあるかもしれませんが、その時はよろしくお願いします。有難うございました。
投稿者 かずき  (社会人)
投稿日時
2009/5/16 20:17:52
stdエディションを買ってしまって長いので忘れ気味ですが
VB2005 Express Editionだと、DB関連の便利ツールが
ローカルのSQL Server Express Editionにしか対応してない
といった制限だったかな~と記憶しています。
なので、別マシンにあるDBを使用して開発とかは便利なツールが
使えなかったと思います。
その場合でも手でゴリゴリ書けば問題ないです。
とりあえず、ローカルのSQL Server Express Editionで開発して
運用環境ではapp.configにある接続文字列をサーバのDBに書き換えて
運用すればいいと思います。
VB2005 Express Editionだと、DB関連の便利ツールが
ローカルのSQL Server Express Editionにしか対応してない
といった制限だったかな~と記憶しています。
なので、別マシンにあるDBを使用して開発とかは便利なツールが
使えなかったと思います。
その場合でも手でゴリゴリ書けば問題ないです。
とりあえず、ローカルのSQL Server Express Editionで開発して
運用環境ではapp.configにある接続文字列をサーバのDBに書き換えて
運用すればいいと思います。
投稿者 たつや  (社会人)
投稿日時
2009/5/17 05:01:29
かずきさん、ありがとうございます。
やはり、ゴリゴリ書くのはなるべく減らしたいですね。
でも、使ってみないとわからない部分もありますので、とりあえずExpress Editionで試してみたいと思います。
やはり、ゴリゴリ書くのはなるべく減らしたいですね。
でも、使ってみないとわからない部分もありますので、とりあえずExpress Editionで試してみたいと思います。
投稿者 刈谷勇  (社会人)
投稿日時
2009/5/19 18:48:48
たつやさん、お返事が遅くなってすみません。
>>VB2008ExpressEditionでも普通にサーバーのDBに接続できますよ。
>とは、どのレベルなんでしょうか?SQL Server Expressにアクセスできるコントロールが
>Visual Basic 2008 Expressに付いていると考えていいのでしょうか?今でもVBでもDelphiでも書け
>るとは思いますが、何せ、もう年寄りなんで・・・。
ADO.NETで接続できます。
standard Edition以降であれば、いろいろ便利なツールがあるようですが使ったことがないのでどこまで便利なのかはわかりません。(^_^;
でも、開発していく上で別段困ってませんよ。
(VB6にあった、クイックウォッチで特定の条件を満たしたら、ブレークする機能がないのでここだけは不便)
後は、接続文字列の作り方さえ覚えてしまえば、とりあえずは問題ないと思います。
詳細は、接続文字列は調べてもらうとして(実は自分も詳しくないのですが・・・)、とりあえずつながるレベルでは以下のとおりです。
接続文字列
Server=サーバー名;Database=データベース名;uid=ログインユーザ名;pwd=パスワード;
Network Library=dbmssocn;
後は、使ってみて接続できない等があれば別途質問してもらえればいいと思います。
>>VB2008ExpressEditionでも普通にサーバーのDBに接続できますよ。
>とは、どのレベルなんでしょうか?SQL Server Expressにアクセスできるコントロールが
>Visual Basic 2008 Expressに付いていると考えていいのでしょうか?今でもVBでもDelphiでも書け
>るとは思いますが、何せ、もう年寄りなんで・・・。
ADO.NETで接続できます。
standard Edition以降であれば、いろいろ便利なツールがあるようですが使ったことがないのでどこまで便利なのかはわかりません。(^_^;
でも、開発していく上で別段困ってませんよ。
(VB6にあった、クイックウォッチで特定の条件を満たしたら、ブレークする機能がないのでここだけは不便)
後は、接続文字列の作り方さえ覚えてしまえば、とりあえずは問題ないと思います。
詳細は、接続文字列は調べてもらうとして(実は自分も詳しくないのですが・・・)、とりあえずつながるレベルでは以下のとおりです。
接続文字列
Server=サーバー名;Database=データベース名;uid=ログインユーザ名;pwd=パスワード;
Network Library=dbmssocn;
後は、使ってみて接続できない等があれば別途質問してもらえればいいと思います。
また、一番心配な部分である、フロントエンドとデータベースの接続部分ですが、もしVBを導入した場合、データベースへシームレスにアクセスできるのでしょうか?Professional Edithion あたりを買えば無難ですかね?
当方、VBの経験はありますが10年以上前ですので、久しぶりになります。現役の方のお知恵を拝借したいと存じます。