喫茶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って、飲み物持ち込み制なんですね。(^▽^笑)

ちいんけ@

[272] 飲み物持込み喫茶店 ?返信 削除
2005/6/8 (水) 05:31:43 Mr.XRAY
> ※喫茶MrXRAYって、飲み物持ち込み制なんですね。(^▽^笑)

実はそうなんです (^^ゞ
Q and A みたいのは他にもあるし,いろいろ雑談(これもありすが)
のつもりで開店しました.飲み物を置いても,あまり客もこないだろうし...
話題はお客さん持ちという意味で.
Syakeさんや,ちいんけさんがこなければ,「喫茶閑古鳥」に名前を変更しな
いといけませんね.
でも,たとえお客さんがこなくても,私の命あるかぎり店はあけておきます
ので,是非ときどきはご来店下さいませ.

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


そうか,ログ機能はそのためにもあるんですね.

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

これ経験しています.後
 Pdoxusrs.Net
 Pdoxusrs.lck
 Paradox.lck

というファイルが残ってしまって,再度Paradoxを使用するアプリを起動する
と,使用中などの表示が現れ起動しないやつも経験しています.
これは,Paradox使用のアプリが異常終了した場合ですね.特にWin95,98で
Windowsが固まった場合(マウスもキーボードも使用不可の様な状態),電源を
切ったりすると当然残る様です.もちろん自分の作成したアプリの出来が悪
くてそうなる時もあるかも (^^ゞ

いろいろ勉強になります.




[274] Re:飲み物持込み喫茶店 ?返信 削除
2005/6/8 (水) 10:02:57 ちいんけ
▼ Mr.XRAYさん
> >BDE + Paradoxではよくよく泣かされます。インデックス関係で、、、
>
> これ経験しています.後
>  Pdoxusrs.Net
>  Pdoxusrs.lck
>  Paradox.lck
>
> というファイルが残ってしまって,再度Paradoxを使用するアプリを起動する
> と,使用中などの表示が現れ起動しないやつも経験しています.


これはイヤというほど経験しています。
Delphi IDEでBDE+Paradoxのデバッグ中にブチッと実行停止すると、はまります。
OSの再起動だと時間がかかるので、再ログインで解除できるようです。

その点、ADO+Accessでは問題ないのです。

ちいんけ@

[277] Re2:飲み物持込み喫茶店 ?返信 削除
2005/6/9 (木) 00:10:39 Mr.XRAY
▼ ちいんけさん
> OSの再起動だと時間がかかるので、再ログインで解除できるようです。

おっ,新知識獲得です.再ログインでOkだったんですか.
(苦笑い)
言われてみれは,なんとなく納得です.過去に某掲示板だかMLで削除できな
い,という質問があったようですが,知っていればレスしたのに.

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