喫茶XRAYトップページ

[スレッド全体
]

[260] TADOConnection について返信 削除
2005/6/6 (月) 17:40:22 Syake
たまには、まじめに

最近、少々自分のプログラミング方法に疑問を持っているのですが?
SQLServerとADOを使ったアプリをメンテ及び開発しています。

現在、機能毎にDll化してアプリを稼動させるように改造中です。
もともと、Delphiだけでは無いので、パッケージ化は先送りです。
で、稼動中は AAA.exe  機能1.dll



[261] Re:TADOConnection について返信 削除
2005/6/6 (月) 19:25:34 Syake
すいません。 手違いで送ってしまいました。
なので続き・・・
 
> 現在、機能毎にDll化してアプリを稼動させるように改造中です。
> もともと、Delphiだけでは無いので、パッケージ化は先送りです。

で、稼動中は AAA.exe → 業務1.dll → 機能2.dll とかで実行さ
せるわけです。

実際は、複数の業務処理と共有化できる機能があるので
業務1.dll、業務2.dll、業務3.dll・・・・
機能1.dll、機能2.dll、機能3.dll・・・・
それぞれの業務.dllが必要に応じて機能.dllを呼び出すように
組もうと思っています。

そして、各業務dllも各機能dllも単一データベースにアクセス
するため、データモジュールにADOConnectionを設けると同時に
接続処理を記述しておき、それを共有ファイルとして各dllの
プロジェクトに、それぞれUsesして利用しようと思います。

で、各dllのADOConnectionはプログラムが稼動中はTrueの状態
としています。
なので、業務1.dllが実行中は業務1.dll内でADOConnectionはTrue
の状態ですが、業務1.dllから機能2.dllを呼び出した場合は、機能2.
dll内で別のADOConnectionがTrueになります。

これぐらいなら、問題は少ないと思いますが、複数の業務dllを
呼び出し、更に各業務dllがそれぞれ機能dllを重複などして呼び
出して実行した場合は、一時的に複数のADOConnectionがTrueと
なってしまいますが、これって、どうなんでしょうか?

疑問1:
OracreでもSQLServerでも「接続数に制限」ライセンス!?がある
場合があると思いますが、こうやってしまうと一台のPCで複数の
接続(ライセンス)を占有してしまう。
な〜んて事は無いですよね?

疑問2:
実行中に、ADOConnection := Tureしっぱなしは良くない。
同一のdll内で処理を連続して行う場合でも、接続と切断はこまめ
に行っていた方が良い?

疑問3:
この様な場合は、もっと別に良い方法が有るのでしょうか?




[262] Re2:TADOConnection について返信 削除
2005/6/6 (月) 21:04:29 Mr.XRAY
▼ Syakeさん
実は私もADOConnectionを使用したアプリを作成して使用しています.
これは,他の方が開発したデータベースのmdbファイルを読出し専用で
いろいろ情報を取得するものです.

dllにはしていませんが,Syakeさんの疑問は私の疑問でもあります.

> 場合があると思いますが、こうやってしまうと一台のPCで複数の
> 接続(ライセンス)を占有してしまう。
> な〜んて事は無いですよね?


これはないと思いますが...

> 実行中に、ADOConnection := Tureしっぱなしは良くない。
> 同一のdll内で処理を連続して行う場合でも、接続と切断はこまめ


これは正確に調べたわけではないのですが,Trueにしておいた方が次に
同じ処理をする時に接続が速いような気がしています(特にネットワーク
では).ん? KeepConnectionの方だったかな.


> この様な場合は、もっと別に良い方法が有るのでしょうか?

多分データベースの接続や利用に関する一般的ななにかだとは思うのですが,
DB関係は(も)さっぱりです.
他のお客さん,といっても,いないか... に期待しましょう.


[263] Re3:TADOConnection について返信 削除
2005/6/7 (火) 08:33:37 Syake
▼ Mr.XRAYさん
ありがとうございます。

> これは正確に調べたわけではないのですが,Trueにしておいた方が次に
> 同じ処理をする時に接続が速いような気がしています(特にネットワーク
> では).ん? KeepConnectionの方だったかな.


Trueにしっぱなしにしたのは、ネットワーク環境で使用するのと、多くの
マスター類とアクセスを頻繁に行うため接続・切断の繰り返しによるタイ
ムロスを無くそうと考えた為です。
そこで、マスター類などはユーザーデータ(ユーザーにとっての顧客データ)
の呼び込み時に一気に呼び込んでメモリーに確保、一旦切断。
ユーザーデータセーブ時に再接続して保存。
な〜んて事も考えては見たのですが・・・・

それともう一つ、今流行の無線LANですが、システムが稼動中に瞬間的に
接続が切れてまた再接続てしまう事があるんですが、操作画面はそのまま
なので、ユーザーは気がつかない。
インターネットで色々調べて対策したので頻度は減っているようですが完
全にはなくならないです。(^_^;)
そして、ユーザーの次点の操作時にエラーになってしまう。
有線にしてよねと思うのですが、なんとも・・・・
本題とは無関係ですが、これも悩みの種かな。

> 他のお客さん,といっても,いないか... に期待しましょう.
よろしくです。


[264] Re4:TADOConnection について返信 削除
2005/6/7 (火) 10:43:31 ちいんけ
▼ Syakeさん

> > 他のお客さん,といっても,いないか... に期待しましょう.
> よろしくです。


私はマスター同様、ADOを使ったDB開発はMDBとの接続ぐらいしか経験は無いのですが、、、

dbExpress + MySQLで開発するときは、DBのログをみて接続コンポーネントとの
やり取りを見るようにしています。

※SQLServerやOracleは高くて手が出せないです。

回答になってなくてすいません。

ちいんけ@

[265] Re5:TADOConnection について返信 削除
2005/6/7 (火) 13:36:55 Syake
▼ ちいんけさん
 
> dbExpress + MySQLで開発するときは、DBのログをみて接続コンポーネントとの
> やり取りを見るようにしています。

ありがとうございます。

> ※SQLServerやOracleは高くて手が出せないです。
実は内緒なんですけど・・・
開発はSQLServerのDeveloperEditionです。
配布はMSDEです。
なんたって、タダですから(^_^;)


[266] Re6:TADOConnection について返信 削除
2005/6/7 (火) 14:03:13 ちいんけ
▼ Syakeさん

> > ※SQLServerやOracleは高くて手が出せないです。
> 実は内緒なんですけど・・・
> 開発はSQLServerのDeveloperEditionです。
> 配布はMSDEです。
> なんたって、タダですから(^_^;)


MSDEは興味があるんですが、いざシステム導入となるとSQLServer使え!
と言われるのが怖くて、手が出せないんです。
MDBの信頼性を考えると、ローカルでMSDE使う場合は検討するんですが、、、
実は、DBISAMに走っちゃいました。(^^;)

で、MSDEでもログは見れるんでしょうか?

※喫茶MrXRAYって、飲み物持ち込み制なんですね。(^▽^笑)

ちいんけ@

[267] Re7:TADOConnection について返信 削除
2005/6/7 (火) 15:09:46 Syake
▼ ちいんけさん
 
> MSDEは興味があるんですが、いざシステム導入となるとSQLServer使え!
> と言われるのが怖くて、手が出せないんです。

それでは、大変ですね。
当方には、そう言う事を言われる方はいないので・・・

> MDBの信頼性を考えると、ローカルでMSDE使う場合は検討するんですが、、、
妥当な選択です。
MDBには以前(今も)嫌というほど泣かされました。
M社も見放してる様子!?

> で、MSDEでもログは見れるんでしょうか?
見れません。(^_^;)

ところで、MySQLは
「本格運用には、Unix, UnixライクOS(Linuxの事!?) を推奨し
 Windowsは実験とか開発とかのレベルだけにしなさい。」
って、MySQLの日本の総本山のページに明記がありましたが、そうなのですか?




[268] Re8:TADOConnection について返信 削除
2005/6/7 (火) 15:54:40 ちいんけ
▼ Syakeさん

> > MDBの信頼性を考えると、ローカルでMSDE使う場合は検討するんですが、、、
> 妥当な選択です。
> MDBには以前(今も)嫌というほど泣かされました。


MDBはよく壊れると聞くのですが、実際酷な使い方をしてるわけではないので
MDBで泣かされ事はないんですが、皆さんの意見を聞くと、納品形式の商品で
は敬遠しているのが実際です。

BDE + Paradoxではよくよく泣かされます。インデックス関係で、、、

> > で、MSDEでもログは見れるんでしょうか?
> 見れません。(^_^;)


じゃ、DeveloperEditionでは?
しつこくてすいません。自分で調べます。はい。

P.S
dbExpressを使ってると、暗黙的に接続を切られてしまったりして、接続を
キープしてないと動かない命令を使ってたときには、泣かされました。
そこで、ログが活躍したわけです。

> ところで、MySQLは
> 「本格運用には、Unix, UnixライクOS(Linuxの事!?) を推奨し
>  Windowsは実験とか開発とかのレベルだけにしなさい。」
> って、MySQLの日本の総本山のページに明記がありましたが、そうなのですか?


えっ? どこにかいてありますか?
私は、Linux系はわからないので、全部Windowsなんですよ。

LAMP(Linux + Apache + MySQL + PHP)じゃなくて、
WAMD(Windows + Apache + MySQL + Delphi)なんです。 (=^_^=) ヘヘヘ

ただ、サードパーティ製のリプリケーションツールを使う必要がある場合は
Linuxでないとダメな場合があったり、MySQLのパワーを最大限引き出すには、
Linux系をお勧めされるもんだと思い込んでたんですが、、、

Webアプリのバックで動作してるMySQL4.0 on Windowsは1年間ノンストップです。

ちいんけ@

[269] Re9:TADOConnection について返信 削除
2005/6/7 (火) 18:24:55 Syake
▼ ちいんけさん
> MDBはよく壊れると聞くのですが、実際酷な使い方をしてるわけではないので
> MDBで泣かされ事はないんですが、皆さんの意見を聞くと、納品形式の商品で
> は敬遠しているのが実際です。

大量のデータで、追加・削除を繰り返したり、高頻度で参照を繰り返したりの
苛酷な環境で利用すると必ず変になります。
ところで、何でそんなことしてるのかって?
私が聞きたいです。(^_^;)

> BDE + Paradoxではよくよく泣かされます。インデックス関係で、、、
逆に経験が無いのでこれはわかりませんが、以前ネットに乗ってたような。
記憶と表現が適切ではないですが、なにやらレコードを削除しても実際に
は削除されるわけではないので!?、単にデータの追加・削除を繰り返し
続けると云々・・・って、やつですか?
(詳細は覚えてません)
 
> じゃ、DeveloperEditionでは?
MSDEのDeveloperEdition無いのでわかりません。

>えっ? どこにかいてありますか?
http://www.mysql.gr.jp/
の、MySQLの運用のOSの選択の項です。



[275] Re10:TADOConnection について返信 削除
2005/6/8 (水) 10:06:10 ちいんけ
▼ Syakeさん

おはようございます。

> >えっ? どこにかいてありますか?
> http://www.mysql.gr.jp/
> の、MySQLの運用のOSの選択の項です。


FAQのOS による MySQL の違い
http://www.mysql.gr.jp/frame/modules/bwiki/?FAQ#content_1_10

上記の情報では、
「OS による違いはありません。
どの OS 用の MySQL でも動きや機能は同じです。
MS-Winはシンボリックリンクやソケットの実装がないので、それを MS-Win 用にしているぐらい。それ以外は Unix 用と同じです


とあるんですが、、、

[▼次のスレッド]
INCM/CMT
Cyclamen v3.82