プログラミングをする上で初歩的な質問で大変申し訳ありません。
通信系プログラムの開発経験が多く、DBを扱うプログラミングは殆ど無いに等しいレベルです。
アドバイスを頂きたい点として大きく2点ありまして、以下の各システムでのDB接続のタイミングと切断のタイミングがよく理解できていません。
1.Windows系SYS(主にVC, VBによるInterfaceを持つもの)でのDB接続と切断するタイミング
2.WEB系SYS(主にASP, JSP)によるDB接続と切断するタイミング
例えば、画面Aから画面Bに遷移する場合、画面AでDBとの接続を確立したまま画面Bに遷移をするのか、それとも画面単位で接続と切断を行なうといった考え方が基本なのでしょうか?
内容がうまくまとめられなくお見苦しいところばかりですが、アドバイスお願い致します。
No.1ベストアンサー
- 回答日時:
DBはセッションを多く開くとパフォーマンスが落ちますので、
DBに接続し、必要なデータをSQL文ですべて引っ張ったら一旦クローズ、
処理終了後にDBに再接続しSQLで更新をかけるというのが普通のやり方
です。処理中はDBを対象とせず、プログラム側に引っ張ったデータで
処理する・・・ということですね。
ただ、この方法を取ると、検索~更新間に検索したデータに更新を
掛けられるとDBの整合性が取れなくなりますので、DB上に何か
フラグを立てるとか、プログラム上で整合性が取れる手段を考えます。
いずれにせよ、プログラム動作中にDBを開けっ放しにすることは、
プログラムが不正動作をした時にセッションをどう切るかという
ややこしい問題が発生しますので、何か特別な理由がある場合以外は
あまりやりません。
画面単位で接続・切断を行なうことが基本ということを念頭に置き、
製造しようと思います。
仰られる通り、DB側データとプログラム上データの整合性に関する問題もありました。排他制御の実現方法についても今後学んでいきます。
解りやすいアドバイスありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 固定IP 楽天光が繋がらないまたは接続に時間が掛かる IPv4が邪魔してるので削除したい 2 2022/08/15 11:58
- モニター・ディスプレイ Displayport接続時にディスプレイ設定の一部の項目がチラついて変更できない 3 2022/07/31 10:06
- Wi-Fi・無線LAN iPhoneのIPアドレスは機内モードをオンで変わるように、無線ルーターも何かの方法で変更できる? 2 2022/04/02 14:37
- VPN 接続のたびにIPが変わるVPNサービスが知りたい 2 2022/06/27 02:34
- ルーター・ネットワーク機器 家庭のWi-Fiについて 最近家で使っているWi-Fiが頻繁に遅延、切断され困っています。 状況とし 9 2023/02/23 21:08
- ドライブ・ストレージ PCのパーフォーマンスが極端に落ちた。 8 2023/01/28 15:22
- IT・エンジニアリング ドメイン駆動設計の値オブジェクトについて質問 1 2023/05/13 02:50
- デスクトップパソコン USB接続のマイクについて 6 2022/09/18 07:54
- 教えて!goo このサイトの不具合の前兆なのか? 4 2022/06/08 22:46
- Android(アンドロイド) Androidスマホのデータ移行が終わらない 1 2023/08/04 17:25
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
OracleInProcServer.XOraSessio...
-
データベース接続/切断の基本的...
-
c#のTLS1.2での通信について
-
System.Net.Sockets.SocketExce...
-
VB6.0のコードによるMySQLへの接続
-
VisualStudioでのプログラミン...
-
ConnectNamedPipeの接続待ち
-
windows 2008 server にiisをイ...
-
FFFTPでファイル一覧を取得でき...
-
VB.NET ORA-12170
-
ctfmon.exe。スタック ベースの...
-
タスクバーのボタンがオレンジ...
-
web.configとは?(初心者です)
-
C#からvbsを実行したい
-
コマンドボタンのキャプション...
-
Accessのマクロで、"RunApp/ア...
-
タスクマネージャーで終了しても…
-
「予期しないエラーが発生しま...
-
パソコンのアプリケーションエラー
-
砂時計 点滅がなおりません・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VisualStudioでのプログラミン...
-
OracleInProcServer.XOraSessio...
-
c#のTLS1.2での通信について
-
System.Net.Sockets.SocketExce...
-
ConnectNamedPipeの接続待ち
-
データベース接続/切断の基本的...
-
Android端末から外部DB(MYSQL...
-
javascriptでSQLite接続
-
●Excel VBAからSQLServerのデー...
-
【Win7・64・C#】マイコンUSB通...
-
VB6.0のコードによるMySQLへの接続
-
VB.NET ORA-12170
-
ローカル側のC#から、リモート...
-
sqlnet.logについて
-
Cでデータベース操作
-
PerlからOracleに接続
-
Androidから外部DBサーバーへ接...
-
VB2010 Dataset内のDB接続先変更
-
DataAdapterだけじゃダメ?
-
Tomcat FireBird(データベー...
おすすめ情報