• 締切済み

ASPでACCESSからoracleにリンクさせて表示したい。

はじめまして。 いろいろ調べてみたのですが、わからなかったので質問させてください。 現在、ASPを利用してACCESS(2003)のテーブルから簡単な検索をできるようにしています。 このACCESSのテーブルは、別サーバーで動いているoracle(10g)のデーターベースから EXCELでエクスポートしたものを、ACCESSでインポートして使用していました。 この手間を省くため、ACCESSとoracleをODBCを使用してリンクさせたいと思いました。 まず、ODBCのシステムDSNで「oracle in oraclient10g」で追加して、接続を確認。 その後、ACCESSにてODBCでテーブルをリンクさせて開くことも確認できました。しかし、 WEB上で確認したところ、サーバー側・クライアント側でも以下のエラーが出てしまいます。 Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access Driver] ODBC--'****' への接続が失敗しました。 これはどのようにすれば、出来るようになるでしょうか。 初歩的な質問で申し訳ありませんが、ご教授ください。 よろしくお願いします。

みんなの回答

  • Lchan0211
  • ベストアンサー率64% (239/371)
回答No.1

http://www.accessclub.jp/bbs/0166/beginers53083.html が参考になるかもしれません。 テーブルリンク作成時に、接続先DBのアカウントとパスワード が保存されていないことが可能性の1つとしてあります。

関連するQ&A

  • ORACLEデータをACCESSへインポート VB

    OracleのデータをAccessへインポートする方法について、どなたかご教授ください。 VB.NETで OracleからAccessへのデータコンバート機能を作ることになりました。 (環境 OS;Win7 言語;VB2008 Oracle;10g Access;2010) 対象のテーブル数、フィールド数、データ数がかなり多いのですが、Accessへデータをインポート(コピー)する良い方法はないでしょうか? 普段、データ入力が専門のためプログラムは初心者です。 今のところOLE DBを使用して1行ずつデータを登録する方法しかできません・・・ ヘルプを参考に、ODBCでDSNレスのINTO(SQL)を挑戦しているのですが「入力テーブルまたはクエリが見つかりません」と出てしまいます。 ◇質問 (1).複数のテーブルをAccessへコピーするにはどんな方法がありますか?   また、このような対象テーブルが多い場合に有効な方法は? (2).ODBCでDSNレスのINTO(SQL)を作成するのに注意することはありますか? ちなみにエラーが出てしまうSQL文は以下です。違っているでしょうか? cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;data source=D:\DATA\DB.mdb" sql = "SELECT * INTO impテーブル名 " & _ "FROM [ODBC;DRIVER={Microsoft ODBC for Oracle};" & _ "SERVER=" & orSorc & ";" & _ "UID=" & orUsrID & ";" & _ "PWD=" & orPswd & "].expテーブル名" ※ Oracleは10g/11gのバージョンが存在するためODPは使用しません

  • ACCESSからのODBC接続について

    Windows2000サーバー上にあるアクセスファイル(別のOracle9サーバーにODBCリンクしている)をWindowsXpパソコンにコピーしましたが、「ODBC-xxxxへの接続が失敗しました」と表示されOracleデータを参照できません。 WindowsXpには、Oracleクライアントはインストール済み、DSNにもMicrosoft ODBC for Oracleを登録済みです。新規にODBCリンクすることは可能です。 エラーなく参照できるようにするにはどうすればいいでしょうか。

  • ORACLEのアクセス

    oracle10gで構築したDBをoracle9iのクライアントからアクセス可能でしょうか。(SQLを参照したりVBで作成しらプログラムからODBC/OLE形式でアクセスする)

  • ASPからACCESSのOPENどうしても出来ません

    みなさんこんにちわ。 ASPを使用してweb上でローカルのACCESSデータベースを参照したいのですが、 エラーが出て、ページを開くことが出来ません。 動作環境は WINDOWS2000SP2 OFFICE2000SP2 MDAC2.5SP2 JET4.0 SP3 ODBCドライバのバージョン(Microsoft Access Driver) 4.00.6019.00 サンプルを参考に作成しました。DBをOPENするところのコードは openStr = "driver={Microsoft Access Driver (*.mdb)};" & _ "dbq=" & Server.MapPath("critters.mdb") Set cn = Server.CreateObject("ADODB.Connection") cn.Open openStr と書きました。 しかし、IISよりこのASPファイルを参照すると以下のエラーが出ます。 HTTP 500.100 - 内部サーバー エラー - ASP エラー インターネット インフォメーション サービス エラー タイプ Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access Driver]一般エラー レジ ストリ キー 'Temporary (volatile) Jet DSN for process 0x518 Thread 0x5ec DBC 0x2710064 Jet' を開くことができません。 どうもOPENするところで発生しているようなのです。 なにか、バージョンが古いのでしょうか。 NET8 ASSISTANTの環境は関係あるのでしょうか。 原因と思われるところがありましたら、どうか教えていただけないでしょうか。

  • ODBCを使用する場合のファイルDSNの設定

    環境 WindowsXP Pro Visual Studio.NET 2003 インストールしたもの MySQL(ver:4.1.11) MyODBC-3.51.11-1-win.exe ODBC .NET Data Provider(ver:1.0.4030.0) (MDAC(ver:2.8)はいつのまにか勝手に入ってました) 「コントロールパネル」→「管理ツール」→「データ ソース (ODBC)」から「ODBCデータソースアドミニストレータ」を起動して、ファイルDSNタブから追加で【MySQL ODBC 3.51 Driver】を選択し「適当な名前」を入れて、「適当な名前」.dsnがファイルDSNに作成されるのですが、ダブルクリックしてみると 「一般エラー:DSNファイルC:\~~~~.dsnが無効です。」となってしまいます。 ユーザーDSNとシステムDSNはちゃんと追加でき、「Connector/ODBC」も設定でき、Access2003、VB.NETからMySQLで作ったテーブルは読み取れました。 VB.NETのサーバーエクスプローラから接続の追加で、データリンクプロパティのプロバイダタブから「Microsoft OLE DB Provider for ODBC Drivers」 を選び、接続タブから「接続文字列を使用する」にチェックを付けビルドで開いたデータソースの選択欄にファイルDSNで作った.dsnは表示されますが、選択してもデータリンクエラー「ドライバへの接続中にエラーが発生したため、操作を実行できません。」となりやはりファイルdsnが使えません。 どうやってファイルDSNを設定したらいいのでしょうか?

  • Oracle10gをACCESSでリンクした場合の不具合

    ORACLEのデータベースをACCESSを使用してODBCで リンクを張り、テーブルの管理をしています。 環境は OLACLE 10g 10.1.0.2.0 ACCESS 2007 WinXP SP2 ODBC:Oracle in OraClient10g 10.01.00.02 OLACLEのテーブルにNVARCHAR2,CLOB型のフィールドを作成し ACCESSでリンク後に、そのフィールドにデータを入力すると 「ORA-01461:LONG値はLONG列にのみバインドできます。」 というエラーがでます。 テーブル定義は CREATE TABLE test( id NUMBER(5) PRIMARY KEY, data1 NVARCHAR2(1000), data2 CLOB ) といった感じです(実際はもっと多いですが・・・) このテーブルでdata1のフィールドに 「あああ」と入力するとエラーがでるのですが、 「aあ」と入力するとエラーはでずに、保存可能です。 「aああ」だと同じくエラー、 「aaああ」だとOK (「a」は半角) 調べたところMicrosoftのODBCはNVARCHAR2型やCLOB型には 対応していない、と言うことはわかったのですが、 ORACLEのODBCでもダメなのでしょうか・・・? UNICODEを使用するので、どうしてもNVARCHAR2が必要なのですが、 対応策をお願いします

  • ASPからMySQLへの接続

    http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/mysql_03.htm等を参考につくってみたのですが、 Microsoft OLE DB Provider for ODBC Drivers エラー '80004005' [Microsoft][ODBC Driver Manager] データ ソース名および指定された既定のドライバが見つかりません。 や Microsoft OLE DB Provider for SQL Server エラー '80040e4d' 接続文字列の属性が正しくありません。 のエラーが出てしまいます。 PC環境はWindows2003server、mysql5.0.18です。

  • AccessとDB2のテーブルリンクで…

    お世話になります。 ある2台のサーバーが社内にあります。 その2台のサーバーにはそれぞれ、IBMのDB2というデータベースを使用していて、それぞれのDB2内には同じデータベース名(テーブル)が存在します。 現在、サーバーAから新サーバーBに社内WEBシステムの移行を行っていて、Access2000のテーブルリンクを使って、サーバーAにあるDB2のデータベースAのテーブルとリンクをしています。 その際、テーブルリンクをする為にWindows2000の「ODBC データソース アドミニストレータ」のシステムDSNで、「IBM DB2 ODBC DRIVER」を使用してデータベースAにODBCを介して接続しております。 ですが、サーバーA側と同じ名前の、新サーバーBのデータベースAにODBCを介してテーブルリンクを繋ごうとすると、サーバーAと新サーバーBのデータベースAという名前が同じだからか、システムデータソースを追加しても、新サーバーB側のデータベースAに接続が出来ません。 この場合、新サーバーBのデータベースAの名前を同じものではなく、別の名前に変更した方が宜しいのでしょうか。 質問内容に不足な点がございましたら、内容を再度追加致します。 どうぞご教授宜しくお願いします。

  • mdbを直接開いてもasp側に影響を与えない方法について

    お世話になります。当方、Windows Server 2003 R2 SP1 で IIS6.0 を使用しています。 サーバ側に設置しているmdbファイルをODBCでシステムDSNに登録し、ASPから 接続しております。 メンテナンスなどで直接mdbファイルを開いている時に、ASPのページに アクセスすると以下のエラーメッセージが出て正常表示が出来なくなります。 ======================================================== HTTP 500.100 - 内部サーバー エラー - ASP エラー インターネット インフォメーション サービス -------------------------------------------------------- エラー タイプ Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access Driver] '(不明)' は既に使用されているので、使用できませんでした。 ======================================================== mdbファイルを直接開いても、ASP側でもエラー表示されないように するにはどうしたらよいでしょうか? ソースは以下のようにしております。 Set cnn=Server.CreateObject("ADODB.Connection") cnn.open "dummy" cnn.close cnn.open "testdb"  '// ODBCをtestdbにしています。 SQL = "SELECT * FROM M_USER ORDER BY USERID" Set rs1 = cnn.Execute(SQL) よろしくお願いいたします。

  • ACCESSで読み取りONLYにする方法

    OFFICE2010、ORACLE OraClient11g_home1 ACCESSとOracleをODBC接続設定しています。 ACCESSで誤って編集した結果がOracleに反映されない様に したいのです。 ACCESSを読み取り参照のみにすることができるという内容を調べ、 ACCESSのファイル形式をmdbにしました。 これによりユーザ権限の変更が可能になります。 情報→ユーザの権限と管理→ユーザ\グループの権限 で、権限の項目に関し ユーザ/グループ名:管理者 リスト:ユーザー オブジェクトの種類:テーブル 権限: 構造の読み取り、データの読み取りの2ケ所のみに レを入れた状態です。 しかしながら、 ACCESSでデータ変更するとORACLEのデータベースもリンクして変更されてしまいます。 何がおかしいのでしょうか? ※oracle側で読み取りのみの方法もあるみたいですが、ACCESS側で設定したく。

専門家に質問してみよう