- - PR -
SQLServerのロック/プロセスID及びAccessとのODBC接続について
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2006-06-21 22:14
いつも参考にさせて頂いております。今回、教えていただきたいことはSQLServerのロック/プロセスID及びAccessとのODBC接続についてです。
.AccessにてSQLServerにODBC接続を行い、VBからこのAccessを経由してSQLServerを 見ます。 .SQLServerには複数のDBが存在しており、VBの条件により1方のDBからもう1方の DBへダンプ生成→ダンプファイル読み込みによりデータの移行(DBの複製)を 行ないます。 .のダンプファイル読み込み(RESTORE)時に、対象のDBがロック/プロセスを 持っているとダンプファイルの読み込みが行なわれないためmasterDBのsysprosess テーブルにアクセスして対象DBのロック/プロセスIDをみつけてKILLによって削除 を行ないます。その上で、ダンプファイルの読み込みを行います。 このあとで、の方法を持って読みこんだ対象DBのテーブルに対するクエリをなげると 「ODBCの呼び出しに失敗しました」となります。(.以前では問題ないクエリです。) @.での対象DB以外にリンクしているテーブルに対してはなんの問題も 起こりません。 AVBを一端終わらせて、再度VBを立ち上げると問題なく実行されます。 BVB上記エラー時に、同一のクエリを接続Accessのクエリ機能から流すと問題なく 実行されます。データも問題なくみれます。 VB−SQLServer間のODBCにおいてなんらかの問題が起こっていると思うのですが、 原因また対処法がまったく思い浮かびません。 どなたか、ご教授、関連情報ありましたらお教え頂けませんでしょうか。 宜しくお願い致します。 | ||||
|
投稿日時: 2006-06-29 23:31
お疲れ様です。 TimberLandChapel です。 直接の回答ではなくて申し訳ないのですが,少し整理させてください。 1.VB → Access → SQL Server と接続しているようですが, VB で使用しているプラットフォームはなんでしょう? DAO ですか? OLE DB を使用した ADO ですか? 2.ロックプロセスの KILL はどうやって行っていますか? データの移送時に,該当のデータを使用している他のユーザーを強制的に排除しているということでしょうか? [おまけ] 個人的には, OLE DB のみの VB,DTS,もしくは osql のみでデータの移送を実装したほうが アーキテクチャ的にすっきりすると思うのですが。。。 ---------- TimberLandChapel http://blogs.timberlandchapel.com/blogs/timberlandchapel/ | ||||
1
