名前 題名 ▼ happy camperさん > はじめまして。 > いつも参考にさせていただいています。 > Windows7でのADOX.Catalogの挙動に関しての質問です。 > 'JETデータベースの新規作成'にあるようにADOX.Catalogを利用して、 > mdbファイルを作成することは可能なのですが、 > mdbを作成する場所によって、不本意な結果になることがあります。 > 具体的には、 > mdbを作成する場所がログインしたユーザーのC:\Users\xxxx\...以下では問題ありませんが、 > 外付けのUSB diskなどに指定した場合に、管理者権限で実行すると、 > '読み取り専用'のmdbファイルになってしまい、以後テーブルなどを作成できなくなります。 > 不思議なことに、管理者権限で実行しない場合は問題ないmdbファイルが作成されます。 > web上で検索してみると、 > http://social.msdn.microsoft.com/Forums/ar/vbinterop/thread/b6b1751e-4859-42d8-97cf-a751838aed81 > に同様の現象が報告されています。 > > アプリの起動場所で作成されるものに違いが出ると不都合なので何とか対処したいのですが、 > いいアイデアはないものでしょうか。どうぞご教示をお願い申し上げます。 > > 当方の環境は、 > Windows7 pro sp1 64bit > Delphi6,7 pro > です。 > > ADOX.Catalogは以下のように使用しています。 > procedure create_new_mdb(src:string; var con_str:string); > var > cat:OleVariant; > begin > try > cat:= CreateOleObject('ADOX.Catalog'); > con_str:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;'; > con_str:=format(con_str,[src]); > cat.Create(con_str); > except > cat:= unassigned; > end; > end; > > 余談ですが、KB2517589にADOの64bit問題として「Windows 7 SP1で生成したモジュールが下位OSで使用できない」 > がマイクロソフトから出されています。使い慣れたadoですが、そろそろ曲がり角なのでしょうか。。 > ただあちこちで利用されているので、なくなることはないとは思うのですが。。 GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link