• 締切済み
  • すぐに回答を!

ODBC接続で困っています。

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

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数790
  • ありがとう数2

みんなの回答

  • 回答No.2

mdbファイルのパスはどのように表記していますか? 接続文字列の変数を strConn だとして strConn = "Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\test\test.mdb;" こんな感じですが。 パスをクォートで2重括りとかしていないでしょうか?

共感・感謝の気持ちを伝えよう!

  • 回答No.1
  • nda23
  • ベストアンサー率55% (773/1384)

基本的に同じはずです。 後者の接続方式に名前を付けたのがDSNです。 当方で試したのですが、後者でも接続でき ました。DSNを作成しなくても動作します。 環境:VB6.0 + Access2003 接続文字列は以下の通りでした。 Dim A As ADODB.Connection Set A = New ADODB.Connection A.ConnectionString = "Driver=" _ & "{Microsoft Access Driver (*.mdb)};" _ & "DBQ=C:\~\hoge.mdb" A.Open 接続できない時のエラーメッセージはどのような ものでしょう?

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • ASPでAccess接続 ODBCの設定について

    こんにちは。 以前も、ASPでAccessファイルへの接続について、こちらでお世話になりました。 別サーバで作ったショッピングシステムのサーバ移行をしています。 これは別の人が作ったシステムで、社内には誰もわかる人がいません。 (私が簡単なサイトが作れるので、話が回ってきた感じです) ASPで作られているのですが、91個のASPファイルから同一Accessファイルへ接続している作りになっていることが今日分かりました。 コードに直接フルパスを記入するやり方ではなく、ODBCデータソースにファイルを選択してやり、DSN名で呼び出すやり方でコードが書いてあったので、調べてODBCデータソースにDBを選択しました。 しかし、確認するとエラーになり、どうも以前使っていたサーバへ接続しているような感じです。 コードは Set cnn2=Server.CreateObject("ADODB.Connection") cnn2.open DSN名 ODBCデータソースへの設定は、ユーザDSNとシステムDSNに MS Access Driver(mdb)を追加し、追加する際にデータベース部分に接続したいAccessファイルを選択しています。 その時のDSN名を、コードに記載されている名前と同じDSN名にしました。 試しにDSN名ではなくフルパスでAccessファイルに接続したら、問題なく表示されました。 この現象は、以前使っていたサーバのODBCに設定が残っている為、以前のサーバを見にいってしまっているのでしょうか? それとも、単純に私の設定が間違っているのでしょうか? 知識不足で分かりにくい表現ばかりだと思いますが、どうぞよろしくお願い致します。

  • AccessでODBC接続できない

    (1)コントロールパネル⇒管理ツール⇒ODBCを選択。 (2)「システムDSN」タブを選択し、「追加」を選択。 (3)ローカルにあるエクセルファイルを選択。データソース名はtest。 (4)Access2003を起動し、テーブルのリンクでODBCを選択し、(3)で作ったtestを選択すると、ODBCを使用して外部MicrosoftJet…のエラーメッセージ。 どなたか解決方法を教えてください。

  • 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を設定したらいいのでしょうか?

  • javascriptでのmdb接続について

    FC2の無料ホームページスペースを使用して 勉強用に簡単なデータベースをjavascriptで組んでいます。 ローカルでは大体動作確認がとれたので HP上に設置したところ [Microsoft][ODBC Microsoft Access Driver] ファイル名が正しくありません。 とエラーが出力されます。 database.Open("Driver={Microsoft Access Driver (*.mdb)}; DBQ=http://xxx.web.fc2.com/Database.mdb;"); 上記の様に絶対パスで指定しており、そのパスにファイルもあるのですが どの様な問題が考えられるでしょうか? ご教授いただければ幸いです。 よろしくお願いいたします。

  • ACCESSを使ってのODBC接続がうまくいかない

    クライアント側のACCESSを使いODBC経由でMySQLへ接続しようとしたらうまく接続が出来ません。 現象はACCESSの、[新規作成] - [テーブルのリンク] - ファイルの種類を[ODBC Databases ()] - コンピュータデータソースにあるODBCを選択。 すると普通はここでテーブルの一覧が表示されるはずが、最初の画面に戻ってしまいます。 他のソフト(EXCELなど)でODBC接続を行ったところうまくいきます。なのでODBC自体の設定は問題ないと考えられます。 以前はうまく行っていたのですが、ACCESSのデータファイル(.mdb)を一度削除して新たに作り直したらうまくいかなくなりました。 この現象で何かわかる方いらっしゃいますか? よろしくお願いします。 MySQL 4.0 ODBC 3.51 ACCESS 2000

  • odbcドライバの違い

    ODBCでAccessと接続をしています。 ODBCの設定の画面のドライバ選択で、 「Microsoft Access Driver (*.mdb)」と 「Driver Do Microsoft Access (*.mdb)」は どう違うのでしょうか? 過去ログを調べていたらちょうど一年前の質問にまったく同じ内容があったのですが、 http://www.okweb.ne.jp/kotaeru.php3?q=241100 一日で締め切られているのでなんとなく納得がいかないのですが・・・ 言語の違い?ですか? YES/NOだけでも解答が得られれば すっきりするのですが・・・ ご存知の方、お願いします。

  • ODBCの設定について

    WindowsXPのODBCの設定について質問があります。 管理ツール → データソース(ODBC) にてODBCの設定画面を起動し、 システムDNSより新規でデータソースの追加を行いました。 追加内容は以下となります。 名前 :test ドライバ:Maicrosoft Access Driver (*.mdb) 今回設定した名前の「test」に関してですが、後ろに半角スペースが入ってしまい、「test 」という名前で登録してしまいました。 すると、再度設定画面を開いても、修正/削除ができなくなってしまいました。 何か打開策があればご指導願います。

  • ODBC接続に関して

    教えて下さい。 Oracle Database 11g Express Edition をインストールし、そこにODBC経由で 接続しようと考えていますが、どうも思ったように接続ができません。 ODBCは、  1.[スタート]→[コントロールパネル]→[管理ツール]→[データ ソース (ODBC)]を選択。  2.ODBCデータソースアドミニストレータのユーザDSNタブの追加ボタンを選択。  3.データソースの新規作成から「Oracle in XE」を選択。 して設定してあります。 Oracle側にユーザとして、"ABC"というユーザ(ワークスペース管理者)を作成、そのユーザで、 Oracle ODBC Driver ConfigurationのUserIDを追加しましたが、接続できません。  Unable to connect  SQLState=28000  [Oracle][ODBC][Ora]ORA-01017 ; invalid username/password ;logon  denied というエラーが表示されます。 但し、SYSTEMというユーザでは接続できます。 ユーザ名/パスワードは間違っていませんが、何が問題でしょうか??? そもそもの考え方が間違っているでしょうか、、、 教えて下さい。 よろしくお願いします。

  • ネットワークドライブ経由でODBC

    WindowsXP、Apache2/2.0.55、PHP/5.0.5の環境で、ODBCを介してMicrosoft Access(*.mdb)にアクセスするphpを作ろうと思ってます。 データソースがローカルにあるときは上手くいくのですが、ネットワークドライブに割り当てられた共有にあるとウォーニングが出て、データベースに接続できません。 どうすれば接続できるでしょうか?参考にしたURLはhttp://www.phpfreaks.com/print.php?cmd=tutorial&tut_id=61です。 出たウォーニングは Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][ODBC Microsoft Access Driver] パス '(不明)' は正しくありません。パス名に間違いがないことと、ファイルが置かれたサーバーに接続していることを確認してください。, SQL state S1009 in SQLConnect in C:\Program Files\Apache Group\Apache2\htdocs\odbc\odbc.php on line 2 Could Not Connect to ODBC Database! です。

  • ODBCデータソースが削除できません。

    ODBCデータソースが削除できません。 以下の環境でデータベースを作成しました。 OS:Windows vista Home Premium sp2 DB:MySQL 5.1 ODBC接続を行いたかったので、 コネクタ「mysql-connector-odbc-5.1.7-win32」のインストールもしました。 コントロールパネル→管理ツール→データソース(ODBC)から ユーザDSNにデータソースを追加しました。 設定を確認しようと、構成ボタンを押しましたが以下のエラーが表示されてしまいました。 タイトル:ドライバのConfigDSN、ConfigDriver、またはConfigTranslatorが失敗しました。 検出されたエラー: Invalid attribute string このエラーはどのように回復できるのでしょうか?

    • ベストアンサー
    • MySQL