VB6.0とParadoxでADOを使用して、現在のセッションとは別フォルダのファイルを抽出するには?

解決


ADO初心者  2004-01-08 19:22:26  No: 81324

現在の状態を簡単に表記します。
--------------------------------
DBフォルダ:D:\DATA
WKフォルダ:D:\WKDB
DBフォルダ内格納ファイル:M_ABC.DB
WKフォルダ内格納ファイル:W_ABC.DB
--------------------------------
'ADOセッション開始
Set AdoDBSession = New ADODB.Connection
AdoDBSession.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D\DATA;Extended Properties=Paradox 5.x;Persist Security Info=False"
AdoWdbSession.Open
'抽出
xSqlTxt = "SELECT * FROM W_ABC IN 'D:\WKDB'"
Set aDs = AdoDBSession.Execute(xSqlTxt)

上記で抽出を行うと、
  実行時エラー '-2147467259(80004005)'
  ファイル 'D:\WKDB'を開くことができませんでした。ほかのユーザーが排他的に
  開いているか、データを読み取る権限がありません。
と、メッセージが出てきて抽出できません。

解決策がわかる方、お願いいたします。


ADO初心者  2004-01-08 19:24:41  No: 81325

ロジックの3行目に間違いがありました。

誤)AdoWdbSession.Open
正)AdoDBSession.Open

申し訳ありません。


岡田 之仁  2004-01-08 20:39:48  No: 81326

そのものではありませんが・・・

http://support.microsoft.com/default.aspx?scid=kb;ja;306269

こういうものが該当しませんか?

ご参考までに・・・

※  稼動環境は?(OSやADOのバージョン)

以上。


ADO初心者  2004-01-08 20:48:13  No: 81327

ありがとうございます。参考にしてみます。

稼働環境はOS=WINDOWS2000,ADO-Version=2.8です。
ちなみにADOは2.5〜2.8まで試してみました。


岡田 之仁  2004-01-08 21:26:32  No: 81328

Paradox のバージョンは?

http://support.microsoft.com/default.aspx?scid=kb;ja;141796

該当しないものの場合、確かに開けませんが・・・

以上。


岡田 之仁  2004-01-08 21:35:44  No: 81329

http://support.microsoft.com/default.aspx?scid=kb;ja;263561
http://support.microsoft.com/default.aspx?scid=kb;ja;286246
http://support.microsoft.com/default.aspx?scid=kb;ja;230126
http://support.microsoft.com/default.aspx?scid=kb;ja;159527

これらの内容は大抵同じ内容(意味)を指し示していますが、
あくまで参考と言うことで。

●  Executeしないで、Recordsetで、リードオンリーで開いてみて
    頂けませんか?

    それで動けば、多分Executeでは、リードライトモードなので
    その為のエラーかもしれません。

以上。


ADO初心者  2004-01-08 22:44:09  No: 81330

Executeメソッドを使用せず、リードオンリーで開いてみてましたが、同じエラーが出てしまいました・・・。

一応ソースを貼り付けておきます。

<前回>
xSqlTxt = "SELECT * FROM W_ABC IN 'D:\WKDB'"
Set aDs = AdoDBSession.Execute(xSqlTxt)
<今回>
xSqlTxt = "SELECT * FROM W_ABC IN 'D:\WKDB'"
Set aDs = New ADODB.Recordset
aDs.ActiveConnection = AdoDBSession
aDs.Open xSqlTxt, AdoDBSession, adOpenStatic, adLockReadOnly

他にも色々試してみます。


岡田 之仁  2004-01-08 23:46:11  No: 81331

今気がつきまいsた・・・

こんがらがらせてすみません・・・

1ツのParadoxファイルをオープンして、このコネクションを
利用して違う場所のものは、オープンできません。
当然、これがアクセスとかエクセルでも同じです。

基本的な使用方法に誤りがあります。

JET経由でのADOでDBをオープンする場合、必ず、1ファイル
1コネクションで行って下さい。

それからまだエラーが出るようでしたら、また投稿して下さい。

以上。


ADO初心者  2004-01-08 23:57:28  No: 81332

ありがとうございます。
可能不可能がわかったので、違う方法でやってみます。
また何かわからない事があったら質問しに来ます。

それでは。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加