• 締切済み

サーバーにおいてあるデータベースをExcelから読み取ることについて

初めて書き込みます。 (PC1) サーバーにおいてあるi:\DATA.mdbのデータベース内容を、Excelの[外部データの取り込み]で取り込み、i:\DATA.xlsとして保存しました。 [データの更新]は行えます。 (PC2) i:\DATA.xlsを開き、[データの更新]を行うと、 "[Microsoft][ODBC Driver Manager]データソース名および指定された既定のドライバが見つかりません。" というメッセージが出てデータの更新ができず、困っています。 <スペック> (PC1) OS:WindowsXP Home Edition CPU:AtronXP 1.7GHZ メモリ:768MB ソフト:Access2003.Excel2003 (PC2) OS:Windows98 SE CPU:セレロン400MHZ メモリ:128MB ソフト:Excel2000 お忙しいところ申し訳ありませんが、詳しい方がおられましたら、どうかご教授をお願いしますm(__)mペコリ

みんなの回答

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

多分ODBCのデータソースが設定されていないのでしょう。 コントロールパネルにあるODBCデータソースを開きユーザーDSNやファイルDNSなど設定されているか確認してみてください。

AST_yaura
質問者

お礼

お返事ありがとうございます。 >コントロールパネルにあるODBCデータソースを開きユーザーDSNやファイルDNSなど設定されているか確認してみてください。 とりあえず色々いじってみたのですが、よーわかりません(^_^;) PC2の設定を、PC1と同じように設定してみましたがだめでした。 PC2に入っているドライバーが古い、Excelのバージョンが違う、AccessがPC2に入っていない等が関係してるのかな・・・? とりあえずまた頑張って調べてみます。お返事どもでしたm(__)m

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

PC1では、定義されているデータソースが PC2では、未定義だとか? 管理ツールから「データソース(ODBC)」をチェックしてみて下さい。 他の原因かもしれませんが、まずはそこから。

AST_yaura
質問者

お礼

お返事ありがとうございます。 ODBCの設定ですが、がんばってやってみたのですがどうも分かりませんでした。 ・・・検索して色々しらべて、休み時間に色々やってみたのですがね~。無念。 専門書を探してみようと本屋に行ったのですが、どんな本を買うべきかよく分からなかったり。 とりあえず時間をかけてやってみます。 ありがとうございました。

関連するQ&A

  • Excel → Access データをインポート

    OS WinXP Pro SP2 Office 2000 SP3 はじめまして。 マクロ(Excel VBA)を記述しているExcelファイル(Xls_Macro.xls)とインポート用データのExcelファイル(Xls_Data.xls)は別々のファイルになっていて、マクロを実行するとExcelファイルとインポート用データのExcelファイルのデータをAccessファイル(Access.mdb)にインポートする仕組みを開発しています。 インポート用データのExcelファイル(Xls_Data.xls)をADOで接続しレコードセットでデータを取得し、Accessファイル(Access.mdb)もADOで接続しレコードセットの「.AddNew」でAccessファイル(Access.mdb)に更新しようと考えています。 この考え方で問題ないのでしょうか!? もっと簡単な方法があるという方や、何か良い方法をお持ちの方 いらっしゃいましたら、よろしくお願いいたします。

  • Excel と Access または、Access と Excel との連携処理

    (1)(初期処理として)、Excel(1.xls)よりアイテムセットしたパラメータ(起動するAccessのパス名)でAccess(A.mdb)を起動する。 (2)Access(A.mdb)の自動処理が終わると、次に起動させるAccess(B.mdb)のパスパラメータをExcel(1.xls)に渡し、Access(A.mdb)を終了する。 (3)パラメータを受け取ったExcel(1.xls)は、Access(B.mdb)を起動し、処理をする。 (1)より開始して、(2)(3)の繰り返し出来る方法を教えてください。 よろしくお願いします。

  • ORACLE8iとAccess97

    Access97のmdbからODBC経由でORACLEのテーブルをアタッチしたいのですが うまくいきません。 OSはWindows2000です。 ORACLEはOracleDeveloper(R6i)です。 最適なODBCドライバのバージョン等、同じ環境で同様のことをしてらっしゃる 方の情報をお待ちしてます。

  • excel>外部データで更新できない

    古い仕様ですが、Oracle8iとexcel2002でデータベースの集計をしています。 SQLが少々複雑なのでoracleにViewを作って、excelから外部取り込み(ODBC)を行っています。 1回目の取り込みはうまくいくのですが、データが更新したときに、excelで「更新」処理をしたところ内容は変更されませんでした。ところが、SQLplusを使ってViewを見ると値に変化があります。 Viewを作り直すとexcelのデータは更新します。 何とかexcelの「更新」だけで新しい情報が反映できないものでしょうか? ご存知の方、よろしくお願いいたします。

  • VBのエラーが退治できません/データベースの更新

    初心者です。 ビジュアルデータマネージャーで作ったデータベース(ACCESS形式V7.0MDB)のデータをFORMから変更・更新したいだけなのですが、 実行時エラー '-2147467259 (80004005)' 更新に必要なベーステーブル情報がたりません とのエラーがでます。なにを確認したらよいのでしょうか。

  • ODBC使用時の正しい記述方法

    データベース初心者です。 ODBCの正しい記述方法についてご教示願います。 以下のソースでデータベース間のテーブルコピーを試したところができるものとできないものがあります。 テーブルはすべて作成済み、Windows認証です。  環境 OS:WidowsXp、Access2003、Excel2007、SQL ServerExpress2008 (1)SQL Server ⇒ SQL Server  記述の方法に問題があるようなメッセージです。  ドライバやテーブルの指定が同様な記述で(4)や(5)がOKなのに(1)ではNGです。DRIVER指定ができないようです。 エラーメッセージ "[Microsoft][ODBC SQL Server Driver][SQL Server]オブジェクト名 'odbc;DRIVER=SQL Server;Server=Server1\\SQLEXPRESS2;Database=TEST1;Integrated Security=SSPI;.TABLE1' が無効です。" (2)は仕様上出来ないのでしょうか? エラーメッセージ "[Microsoft][ODBC Microsoft Access Driver] ODBC を使用して、外部 Microsoft Jet データベース エンジンのテーブルや組み込み可能な ISAM データベースのテーブルのインポート、エクスポート、またはリンクを行うことはできません。" 実用上はOLEを使用しているので問題はありませんが、向学のためによろしくお願いします。 /////////////////////////// ソース ///////////////////////////////////// (1)SQL Server ⇒ SQL Server 動作NG Sub sqlsvr2sqlsvr() Dim cn As New ADODB.Connection Dim strSQL As String cn.Open "DRIVER={SQL Server};Server=Server1\SQLEXPRESS1;Database=TEST1" strSQL = "INSERT INTO [odbc;DRIVER=SQL Server;" & _ "Server=Server1\SQLEXPRESS2;Database=TEST1;" & _ "Integrated Security=SSPI;].TABLE1 " & _ "SELECT * FROM TABLE1" cn.Execute strSQL cn.Close Set cn = Nothing End Sub (2)Excel ⇒ Access 動作NG Sub Access2Excel() Dim cn As New ADODB.Connection Dim strSQL As String cn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\TEST1.MDB" strSQL = "INSERT INTO [DRIVER={Microsoft Excel Driver (*.xls)};" & _ "DBQ=C:\TestBook.xls;ReadOnly=False].[Sheet1$] " & _ "SELECT * FROM TABLE1" cn.Execute strSQL cn.Close Set cn = Nothing End Sub (3)Excel ⇒ Excel 動作OK Sub Excel2Excel() Dim cn As New ADODB.Connection Dim strSQL As String cn.Open "odbc;DRIVER={Microsoft Excel Driver (*.xls)};DBQ=C:\TestBook.xls;ReadOnly=False;" strSQL = "INSERT INTO [C:\TestBook2.xls].[Sheet1$]" & _ "SELECT * FROM [Sheet1$]" cn.Execute strSQL cn.Close Set cn = Nothing End Sub (4)Access ⇒ SQL Server 動作OK Sub access2sqlsvr() Dim cn As New ADODB.Connection Dim strSQL As String cn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\TEST0.MDB" strSQL = "INSERT INTO [odbc;DRIVER=SQL Server;" & _ "Server=Server1\SQLEXPRESS1;Database=TEST1;" & _ "Integrated Security=SSPI;].TABLE1 " & _ "SELECT * FROM TABLE1" cn.Execute strSQL cn.Close Set cn = Nothing End Sub (5)Excel ⇒ SQL Server 動作OK Sub excel2sqlsvr() Dim cn As New ADODB.Connection Dim strSQL As String cn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=C:\TestBook.xls;ReadOnly=False;" strSQL = "INSERT INTO [odbc;DRIVER=SQL Server;" & _ "Server=Server1\SQLEXPRESS1;Database=TEST1;" & _ "Integrated Security=SSPI;].TABLE1 " & _ "SELECT * FROM [Sheet1$]" cn.Execute strSQL cn.Close Set cn = Nothing End Sub (6)Access ⇒ Access 動作OK Sub Access2Access() Dim cn As New ADODB.Connection Dim strSQL As String cn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\TEST0.MDB" strSQL = "INSERT INTO T_写真台帳1 SELECT * FROM [C:TEST1.MDB].T_写真台帳" cn.Execute strSQL cn.Close Set cn = Nothing End Sub

  • ODBC接続で困っています。

    ODBC接続で困っています。 いつもお世話になっております。 VB6.0からODBCを利用してACCESSに接続をしたいのですが、 接続文字列が良く分かりません。 色々と調べてみたのですが、 管理ツールからODBCデータソースを作成(Microsoft Access Driver (*.mdb)を使用)して、  DSN=データソース名 という風にするのと、  Driver={Microsoft Access Driver (*.mdb)};Dbq=MDBファイルパス; とするのとは同じなのでしょうか? 前者では無事に接続できたのですが、後者では接続できませんでした。 MDBファイルのパスは動的にしたいので、できれば後者の方が良いのですが、 どうしたら良いでしょうか…。 よろしくお願い致します。

  • エクセルの自動更新

    1・現在、エクセルの「会員名簿.xls」を開きますと、アクセスの「顧客管理.mdb]の最新データーで、エクセルの「会員名簿.xls」が自動的に更新されるように設定してあります。 2・出来れば、その都度エクセルの「会員名簿.xls」を開かないで、下記のような時点で、エクセルの「会員名簿.xls」を、マクロなどで更新(「会員名簿.xls」を開いた時と同じ状態)出来ないかと考えております。 (A).アクセスの「顧客管理.mdb]を閉じる時点。 (B).アクセスの「顧客管理.mdb]は、閉じる前に必ず初期化ボタンをクリックする設定になっていますのでその時点。 アクセスの知識は皆無ですので、宜しく御願いいたします。

  • データベースサーバー構築

    質問場所がここで良いか少し不安ですが 主にWebで公開するデータベースのシステムを作ろうとしています 自分のスキルの範囲でやろうとしていますが少し分からないことがあるので 教えてください まず 自分のできること(やっていること)は ・Windows系サーバー(IIS)を使ってVBスクリプト(ASP)で ローカルにあるMDBファイルにアクセスし商品を紹介する動的ページの作成 です。 今後複数ユーザーでデータベースを使うことになるので システムを変えていく必要がでてきて MDBはダメだという事になり色々調べた結果、今後のことも考えWebサーバーとは別に データーベースサーバーを作ってやると言う結論になりました 分からないこと(あやふやな理解になっていること) 1.データベースサーバーとは何か?  これは OSは別として、SQL Server、オラクル、MYSQLといった  RDBMSをインストールしただけのデータベース置き場専用という感じのPCを指すと言うことで良いでしょうか?  例えば Win2000のIISでwebサーバーを作りその中のASPページから  別PCにあるデータベースにアクセスする構成がデータベースサーバーを別に設けると言うことで正しいのかどうかと言うことなのです。 2.データベースは何がよいか?(SQL Serverでよいか?)  本来であれば、webで商品在庫を公開することがメインで更新頻度が少ないデータベース  (300人ぐらいで共有し1万~3万レコードです)です、なおかつ複雑なSQLは発行しません。  ほぼASPからの接続で抽出(ID=** という単純な抽出条件)しか使わない、あとは並び替え位なので  MYSQLが向いているようでしたが、私はLinux系は全く分かりません。  なので メンテナンスの面や勉強する時間の節約からすれば  Windowsで動くSQL Serverが良いと思うのですが(MYSQLもWindowsで  動くけど得意とする高速性はLinux系でないと発揮しないみたいなのでやめようと思っています)  上記のような条件と使い方の場合、そんなに処理時間やマシンの負荷に両者間では大差があるのでしょうか?  MDBの時でもあまり不具合を感じなかったので、それよりは格段にSQL Serverは早いし負荷が少ないと聞いていますので  大丈夫かなと思っています。 3.SQL ServerをインストールするPCは何が最適か?  先も述べたようにデータベース専用として使う予定ですが  Win2000でよいのでしょうか?(XPより2000の方が安定がよいと思うので) それともWin2003Serverに  インストールできるならその方がよいでしょうか?  とにかく安定度が一番なのですが、そもそもWin2003Serverに  インストールできるのでしょうか?(もうすぐ2008?がでるからそれにしようかとも検討中です) 4.最終的に自分の思っていることと実体の構成(理解)は理解は以下のような感じで正しいのでしょうか?    複数でデータベースを共有するため、MDBでなくネットワークに強い (共有データベースで壊れにくい?壊れない?)データベースに変えるため、windowsで動くSQL Serverを使う  そのSQL ServerはwebサーバーがあるPCとは別のPCにインストールして使う  (データベースサーバーを別に用意する)ことでwebサーバーの負荷も減らし、データベースも快適に動くようにする 最終的にはWin2003Server×2台で1方はwebサーバー1方はSQL Server をインストールして使うことで上記を実現させる 5.SQL ServerのデータベースはMDBのような最適化というような作業が必要なのでしょうか?  そもそも 似ているようで違う MDBとSQL Serverでその特徴がきちんと理解できていないので  愚問なのかもしれませんが 気になるので教えてください 6.オラクルと違いSQL Serverはレコードの更新や追加の時  その行(レコード)だけロックすると言うことができない?  ようなので、Aさんが自分の商品を更新中にBさんも更新する  と言うようなことが起こった場合(MDBはこれになると壊れると書いているので MDBをやめました)  Aさんの更新が終わるまでBさんは更新できない(更新終了まで待つ)と言うことになるのでしょうか?  また、このとき商品一覧を要求された場合、更新中の情報はどの様になるのでしょうか?(更新終了まで見れない?) なんか 分かりにくい質問になってしまいましたが、お金をかけて 買ったはいいが、理解不足でやりたいことができなかったと言うことは 避けたいので ご教授下さい。 よろしくお願いします。

  • ASPによる アクセス2000のデータベース更新について

    アクセス2000で作成したデータベースに ASPでデータベースを更新しようとしたのですが、エラーとなって更新できずにいます。 (アクセスデータベース内容) ID F1 F2 1 TEST1 TEST2 2 1 2 3 4 5 4 23 ※ID の 5  に 23 を登録したい。 (ASP内容) <% ' データベースへの接続を開始 Set cn = Server.CreateObject("ADODB.Connection") cn.Open "Driver={Microsoft Access Driver (*.mdb)}; " & _ "DBQ=" & Server.Mappath("TESTdb1.mdb") cn.Execute"INSERT INTO TTT(ID,F1) VALUES(5,23);" %> (エラー内容) エラー タイプ Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access Driver] 更新可能なクエリであることが必要です。 /SQL-TEST/ncsch1.asp, line 7 アクセスの追加クエリで、INSERT INTO TTT(ID,F1) VALUES(5,23); を 実行したら、問題無く 5 23 が登録できましたので、データベース自体に他からの実行の場合、更新出来ないような 設定になっていると思うのですが、対処方法がわかりません。 どうすればよいか教えて頂けないでしょうか?