- - PR -
SQLServerから外部MDBファイルの参照
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-07-06 15:34
お世話になります。Ronaと申します。
現在SQLServerから外部にあるMDBの接続ができず困っております。 今試している方法は、 OPENROWSET('Microsoft.Jet.OLEDB.4.0','MDBフルパス';'admin'; 'Password', 'select * from テーブル') AS XXX を使用しています。 OPENROWSETを使用してPasswordがかかっていないMDBは開けるのですが、 Passwordがある場合、MDBは開けません。 エラー内容は、以下の内容です。 認証に失敗しました。 ・アプリケーションを起動できません。 ・システム データベースが存在しないか、 またはほかのユーザーが排他的にシステム データベースを開いています。 OPENROWSETを使用してPasswordの設定されている外部MDBを開く方法を知っている方、 または他の方法でも結構ですので、外部MDBを開く方法を知っている方、 どうか教えて頂けないでしょうか。 申し訳ございませが、よろしくお願い致します。 | ||||
|
投稿日時: 2005-07-06 22:39
おつかれさまです。 OPENROWSET に指定するパスワードは, OLEDB 文字列で言うところの UserID=admin に対する Password=<password> このパスワードです。 一方,Access MDB に対して掛ける,排他モードが必要なパスワードは, Database Password=<password> の方のパスワードです。 ですので,OPENROWSET では排他パスワードつきの mdb はひとまず開けません。 代わりに, OPENDATASOURCE を使用してアドホック接続します。 SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0', 'Data Source=C:\test.mdb;Jet OLEDB:Database Password=testpass')...testtable) とすることで, データベースパスワードが掛けられた mdb の [testtable] にクエリを打つことができます。 ただし,この方法はアドホック接続が許可されていないとできません。 これで要件的にはいかがでしょう? [ メッセージ編集済み 編集者: TLC 編集日時 2005-07-06 22:43 ] | ||||
|
投稿日時: 2005-07-07 10:21
お世話になります。
OPENROWSETの仕様や、OPENDATASOURCE等大変勉強になりました。 こちらの方でも、思い通りの結果を出すことができました。 大変助かりました。 ありがとうございました。 |
1