Recordsetを使ったプログラムでDBを移動させるとアクセスできなくなる – プログラミング – Home

Recordsetを使ったプログラムで...
 
通知
すべてクリア

[解決済] Recordsetを使ったプログラムでDBを移動させるとアクセスできなくなる


ゆんた
 ゆんた
(@ゆんた)
ゲスト
結合: 17年前
投稿: 3
Topic starter  

始めましてこんにちは。

VC++6.0のMFCでAccessのデータベースを利用したプログラムを作っています。
Recordsetを使おうと思うのですが表題の様な問題が起こります。

クラスウィザードからMFCODBCコンシューマのクラスを作る。
データソースをMS Access Databaseとする。
データベースの選択ダイアログでC直下のgakusekikanri.mdbを選択する。
テーブルを選びクラスを生成する。
DBをオープンし、要素を取り出す。
ここまでは出来ました。

ここでgakusekikanri.mdbをC:\Program Filesに移動させた所、アクセスできなくなりま
した。

プログラム上でデータベースファイルのパスをC:\Program Filesに変更出来れば解決でき
ると思うのですが、パスを変更する方法が分かりません。

開発環境
VC++2005 MFC Access
Recordsetを使ったプログラム(ODBC)

分かる方いらっしゃいましたらご指導お願いします。


引用未解決
トピックタグ
ゆんた
 ゆんた
(@ゆんた)
ゲスト
結合: 17年前
投稿: 3
Topic starter  

すみません。
開発環境について補足&修正です。

VC++6.0 MFC Access
Recordsetを使ったプログラム(ODBC)
OSはwindowXPです。

失礼しました。


返信引用
たいちう
 たいちう
(@たいちう)
ゲスト
結合: 23年前
投稿: 662
 

データベースファイルのパスを管理しているのはプログラムではなくてOSです。
コントロールパネルの管理ツールのデータソース(ODBC)で正しい設定にすれば、
プログラムは変更しなくてもつながるはずです。

データベースファイルがどこにあるか、DBの種類は何かなどを、
プログラムが気にしなくても良いという仕組みなのです。

プログラムでODBCの設定をする方法もあるようですが、
私ならば、そんな設定をするよりもADOを使います。

http://msdn2.microsoft.com/ja-jp/library/ck4z6wwt(VS.80).aspx


返信引用
ゆんた
 ゆんた
(@ゆんた)
ゲスト
結合: 17年前
投稿: 3
Topic starter  

遅くなって申し訳ありません。
解決しました。

そもそもODBSの理念から逸脱している為あまり良い方法ではないと思うのですがレコード
セット派生クラスのGetDefaultConnectのreturn _T()内を書き換える事によ成功しまし
た!!

たいちうさん、アドバイス有難う御座いました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました