UDLファイルを使用してパスワード設定されたmdbに接続する方法

このQ&Aのポイント
  • ローカルmdbファイルにパスワードの設定を行わなければ、UDLファイルから「プロバイダ」→「Microsoft Jet 4.0 OLE DB Provider」を選択し、「接続」のユーザー名を「Admin」、パスワードなしで接続出来ています。
  • パスワード設定されたmdbファイルへのアクセスは、UDLファイルからはできないようです。
  • 参考URLまたはアドバイスをお願いいたします。
回答を見る
  • ベストアンサー

UDLファイルでパスワード設定されたmdbに接続

ローカルmdbファイルにパスワードの設定を行わなければ、UDLファイルから「プロバイダ」→「Microsoft Jet 4.0 OLE DB Provider」を選択し、「接続」のユーザー名を「Admin」、パスワードなしで接続出来ています。 しかし、mdbファイルにパスワード設定を施したのちに、udlファイルに同じパスワードを設定して接続しようとすると、以下のようなメッセージが表示されてしまいます。 ************************************************* Microsoft データリンクエラー 「プロバイダの初期化中にエラーが発生したため、接続のテストに失敗しました。アプリケーションを起動出来ません。データベースが存在しないか、またはほかのユーザーが排他的にシステムデータベースを開いています。」 *************************************************  ・・・パスワード設定されたmdbファイルへのアクセスは、UDLファイルからは出来ないのでしょうか? 参考URLまたはアドバイスをお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

回答ではありません。 こちらで少し調べたので、書いておきます。 http://okweb.jp/kotaeru.php3?q=26469 こんなスレッドありました。 でもAccess2003で同じような実験をしてみたところ、つながりませんでした。 (たぶん誤記は無いと思うんだけどなぁ・・・Accessバージョンのせい?) そこで.NETサンプルですが http://support.microsoft.com/default.aspx?scid=kb;ja;317113#9 というのを見つけました。 しかしサンプルはAccess.ApplicationやDAOのものです。 ADOは存在していなく、ADOではもしかして無理?

tabikin
質問者

お礼

ありがとうございます。 私もDAOでは接続出来ていたのですが、ADOで接続しようとしたところダメだったので、udlファイルで接続を試していたところでした。 いまだ解決はしていませんが、また何かあったらよろしくお願いします。 返事が遅れてすみませんでした。

その他の回答 (1)

回答No.2

>私もDAOでは接続出来ていたのですが 行き着くところは一緒のようですね^^; >ADOで接続しようとしたところダメだったので、udlファイルで接続を試していたところでした。 udlはADOを利用することが前提なので、udlを利用する以前にADOだけで、接続が可能であることが前提ですよ。 おそらくconnectionstringだけでは無理そうなので、udl利用による外出しは、かなり厳しいと思います。

tabikin
質問者

お礼

ありがとうございました。 結局断念したのですが、mdbはSQLserverに移行していくことになりました。 又よろしくお願いいたします。

関連するQ&A

  • MDBパスワード設定済みDBへ接続

    MDBパスワード設定済み(排他オープンからの設定)のDBへ接続を試みているのですが、うまく 接続できません。 ご教授ください。 ASP vbscript <ソース> set objCon=ServerCreateObject("ADODB.Connection") cn1 = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "DataSource=" & Server.path("db.mdb") & ";Jet OLEDB:Database Password=password;" objCon.Open cn1 <エラー> Microsoft JET Database Engine エラー '80040e4d' パスワードが正しくありません。

  • MDBファイルがオープンできません

    C#2005で作ってます。 // データベース接続 Connection = ProviderFactory.CreateConnection(); Connection.ConnectionString = csBuilder.ConnectionString; Connection.Open(); Connection.Open()でエラーになります。 「'Microsoft.Jet.OLEDB.4.0' プロバイダーがローカル コンピューターに登録されていません」 Connection.ConnectionStringはProvider='\"Microsoft.Jet.OLEDB.4.0\"';Data Source='\"C:\test.mdb\"' と設定されてます。 上記エラーになる原因としてはx64環境だとJetエンジンが対応していないのでという 回答はいくつも見ましたが、開発・実行している環境は、ともにWindowsXP x86です。 しかもx86でコンパイルしても直りません。 何をどうすれば動くものなのでしょうか?

  • データベースプログラムで発生したエラー

    データベースプログラムを作成し、他のパソコンにインストールしました。データベースのもとはAccessで作成し、UDLファイルを経由してDataGridに現れるようにしています。 ところが、他のパソコンで実行テストしてみたところ。「指定したプロバイダがありません。」とでてしまいました。指定したプロバイダとは、「Microsoft JET 3.51 OLE DB Provider」のことであり、これが見つからないということだと思います。 このプロバイダを他のパソコン上に入れ込まなければならないのでしょうか?そうだとしたら、その方法は如何なるものでしょうか? なにとぞよろしくお願い致します。

  • mdbファイルにパスワードを設定する方法

    mdbファイルにパスワードを設定したいと思っていますが,ユーザにパスワードを知られたくないので,vb6.0又はVbScriptを利用して,mdbファイルにパスワードを設定したいのですが,その方法について教えてください。

  • データベースのパスワードを設定するには?

    VB .Netでデータベースを開くときにパスワードをきいてくるのですが、パスワードの設定の仕方がわかりません。 oleCn.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & dskstr & JISSEKINOW & ";"

  • mdbに接続できません

    OS:Windows2008server SP2 Access Version:2000 はじめまして。 Windows2008Server上へ、Windows2000上のASPを移植しましたが、ADOでMDBに接続すると 「プロバイダーが見つかりません」というエラーでMDBが開けません。 サーバーは本番系、開発系で、同一のWindows2008Serverを準備しているのですが、 本番系では接続できるのですが、開発系はエラーとなります。IISのデフォルト設定、 OSのデフォルト設定、仮想ディレクトリへのアクセス制限等があるのかもしれません が解決できません。詳しい方、ご教授ください。 以下、この投稿を行うにあたり、前提条件、事前に確認したことを列挙します。 OS、MDBについては上記の通り。 ・MDBへ接続するため、マイクロソフトのサイトからaccessdatabaseEngine(32ビット)を  ダウンロードしてインストール ・IIS7.0にMDB参照用のサイトを構築、ASPでネットワーク経由でMDBを操作する。 ・言語はJscript(更新用),VBscript(参照用)。 ・本番系、開発系とも、Provider=Microsoft.ACE.OLEDB12.0、Connectionstring="ADODB.CONNECTION"、  フルパスでDSN指定 ・本番系、開発系のiisのアプリケーションプール、MDB参照のサイトを確認した結果、同一であった。 ・レジストリに指定してあるMicrosoft.ACE.OLEDB12.0のDriver、SetUpに対応するDLLは存在する。 ・ODBCのレジストリを比較した結果、同一であった。 ・「test.udl」を作成してMDBへの接続して接続テストを行うと接続ができる。 ・32ビットアプリケーションはアプリケーションプールの詳細設定でTRUEとしている。

  • VBでADODCを使ってパスワード付ACCESSに接続する方法

    VB6.0SP5でプログラム作っています。 ADODCを使ってパスワード付のアクセスデータベースに接続したいのですが、 全然出来ません(--;) ADODCのプロパティの接続タブで、 パスワードのところに、設定したパスワードを入力しても ダメでした。 ユーザー名は、あるのかすらわからないので空欄です。 ためしにアクセスのパスワード設定を解除してみると、接続できました。 エラーは プロバイダの初期化中にエラーが発生したため、接続のテストに失敗しました。 アプリケーションを起動できません。システムデータベースが存在しないか、 またはほかのユーザーが排他的にシステムデータベースを開いています。 です。 排他的に開いていたりしないし、パスワード設定を解除すれば接続できるので、???です。 どうしてもADODCを使って接続したいのです。 接続する方法はないのでしょうか?

  • Access98で作ったmdbをAccess2000で変換したらエラー発生

    こちらのFREEの掲示板を使いながらASPを勉強しているところですが、 Access98で作ったmdbをAccess2000のデータベースユーティリティで 変換したところ、下記のようにODBC Drivers エラーが発生しました。 Access2000で作成したmdbを使用する場合にはODBC Driverもバージョン アップしなければならないのでしょうか?対処方法についてもご指導 をお願いしたいと思っています。 Microsoft OLE DB Provider for ODBC Drivers エラー '80004005' [Microsoft][ODBC Microsoft Access Driver]一般エラー レジストリ キー 'Temporary (volatile) Jet DSN for process 0x5b8 Thread 0x66c DBC 0x2091ba4 Jet' を開くことができません。

  • mdbにInsertで「メモリ不足です」

    XP上のmdbファイル(2003形式)にDelphi7で作成したプログラムからADO(TADOConnection)で接続しています。 使い方は通信のログをmdbに追加していくというものです。 最初は動いているのですが、600~700件程度追加すると「メモリ不足です」というエラーが出て追加できなくなってしまいます。 しかし、プログラムを再起動すると、動くようになります。 メモリの状態を確認すると、 起動直後 約270MB ⇒ エラー発生時 約360MB で、メモリはまだまだ余裕があるように見受けられます。 検索して調べたところ、レジストリからMaxLocksPerFileの値を変更する方法があったため、 9500 ⇒ 200000 ⇒ 6000000 のように増やしてみましたが、効果はありませんでした。 また、ある程度動かしたら、TADOConnectionのオブジェクトを解放して再作成するように変更してみましたが、こちらも効果はありませんでした。(メモリも減っていない。キャッシュされている?) 以前はデータベースにSQL Serverを使っていたのですが、 諸事情でmdbに変更することになりました。 SQL Serverのときはこのような問題はありませんでした。 その他の情報は以下の通りです。 メモリ:512MB プロバイダ:Microsoft Jet 4.0 OLE DB Provider 原因と対策をご存知の方がいらしたら、よろしくお願いします。

  • DB接続ができなくなって困っています!

    いつも参考にさせていただいております。 今回、自宅のPCに構築した開発環境のDBに、急に接続できなくなりました。 ==================================== 【開発環境】※ASP環境 OS :windows 8 IIS:8.0 DB :(1)MySQL 5.5.32   ※「mysql-connector-odbc-5.2.5」もインストール済。  (2)Access2013 ==================================== 先日まで、問題なくDBに接続できていましたが、寝ぼけて何かの設定を変えてしまいました。 ※恥ずかしながら、気づいたら設定変更後で何の設定を変えたのか不明です。。。 すると、今まで正常に接続できていたMySQLとAccessが、以下のエラーで接続できなくなりました。 ==================================== 【MySQL接続】 Microsoft OLE DB Provider for ODBC Drivers エラー '80004005' [Microsoft][ODBC Driver Manager] データ ソース名および指定された既定のドライバーが見つかりません。 【Access接続】 Microsoft OLE DB Provider for ODBC Drivers エラー '80004005' [Microsoft][ODBC Driver Manager] 指定された DSN には、ドライバーとアプリケーションとのアーキテクチャの不一致が含まれています ==================================== なお、接続箇所のロジックは以下となります。 ==================================== 【MySQL接続】 Set oCn = Server.CreateObject("ADODB.Connection") oCn.Open UDL_FILE(※1), "", "" ※1 上記「UDL_FILE」は、以下の内容を設定しているUDLファイルを読み込んでいます。 ------------------------ [oledb] ; Everything after this line is an OLE DB initstring PROVIDER=MSDASQL;DRIVER={MySQL ODBC 5.2 Unicode Driver};SERVER=localhost;USER=hogeU;PASSWORD=hogeP;DATABASE=hoge; ------------------------ 【Access接続】 Set poCnMdb = Server.CreateObject("ADODB.Connection") poCnMdb.Open DNS(※2), "", "" ※2 上記「DNS」は、ODBCデータソース アドミニストレーター(32bit版)で登録したシステムDSNです。 ------------------------ ドライバー:Microsoft Access Driver(*.mdb) ------------------------ ==================================== MySQLやODBCドライバーの再インストールを試みましたが、上記エラーが解消されません。 自業自得なのは重々承知しておりますが、復旧できなくて大変困っています。 お忙しいところ申し訳ありませんが、復旧方法のご教授をお願いいたします。 以上です。

専門家に質問してみよう