• 締切済み

ODBC接続で困っています。

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

みんなの回答

  • utakataXEX
  • ベストアンサー率69% (711/1018)
回答No.2

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

全文を見る
すると、全ての回答が全文表示されます。
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

基本的に同じはずです。 後者の接続方式に名前を付けたのが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に設定が残っている為、以前のサーバを見にいってしまっているのでしょうか? それとも、単純に私の設定が間違っているのでしょうか? 知識不足で分かりにくい表現ばかりだと思いますが、どうぞよろしくお願い致します。

  • ODBC接続ができない

    初めて質問する初級者です。 現在、DBにPostgreSQLを使って、クライアント側を Windowsアプリケーションにしようと思って、VB.NET (2003)でつくり始めたところです。PostgreSQLの接 続については、既に日本語ODBCドライバを使って Accessとの接続は確認済みで、安心していたのです が、今日VB.NETでODBCのクラスを作ろうと思い、 やってみているのですが、うまくいきません。 具体的に説明すると、「サーバーエクスプローラー」から「データ接続」の「接続の追加」を行い、 「Microsoft OLE DB Provider for ODBC Driver」を 選択して、既にAccessで確認済みのデータソースを 選んで接続してみました。ダイアログの中にある 「接続のテスト」ボタンをクリックすると、 「接続しました」と出てくるのですが、その「データ リンクプロパティ」を登録しようとすると、サーバー エクスプローラーに追加できません。エラーメッセージには、SQLサーバーかAccessしか登録できないような 文面でした。どなたかご指導下さい。よろしくお願いします。

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

  • vbsによるMsアクセスへの接続について

    MsアクセスにADOで接続する場合、例えば、以下のようなVBスクリプトを実行した時、 Set obj_ado = CreateObject("ADODB.Connection") obj_ADO.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=test_2000.mdb;" obj_ADO.Open "Driver={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=test_2007.accdb アクセス2000(mdbファイル)への接続は問題ないのですが、アクセス2007(accdbファイル)へは、エラーとなって接続出来ません。 ドライバーの指定方法が間違っているのでしょうか?

  • 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;"); 上記の様に絶対パスで指定しており、そのパスにファイルもあるのですが どの様な問題が考えられるでしょうか? ご教授いただければ幸いです。 よろしくお願いいたします。

  • クリスタルレポートのODBC接続ができません

    クリスタルレポート初体験です。 VB5、DBはオラクル9i(但し開発環境は8i)を使用しています。 VBからODBC経由でクリスタルレポートに接続したいのですがうまくいきません。 ------------------------------------------------ With rpt3000 .DataFiles(0) = "VW一覧表" .Connect = "DSN=TESTDSN;UID=B_USR;PWD=ABC;" .ReportFileName = App.Path & "\" & "test.rpt" lngRet = .PrintReport strErrMsg = .LastErrorNumber & "/" & .LastErrorString If lngRet <> 0 Then MsgBox strErrMsg End If End With ------------------------------------------------ .PrintReportのところで一瞬クリスタルレポートの窓が開いているようなのですが、すぐ消えてしまって表示されません。 エラーメッセージは「20527/SQLServer Error」です。 ODBCの設定はテスト接続でつながるので間違っていないと思います。 ------------------------------------------------ データソース名:TESTDSN サービス名:A_DBQ ユーザー名:B_USR ドライバは ORACLE ODBC Driver ------------------------------------------------ クリスタルレポートのrptファイルを開いてログオンサーバーをすれば正しく表示されるのですが、VBからだとDBに接続出来ていないような感じがします。(推測ですが) コードの書き方が間違っているでしょうか? それとも何か設定が足りないとか・・・ 初心者につき説明が足りない部分があるかと思いますので、補足要求してください。よろしくおねがいします。

  • ネットワークドライブ経由で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! です。

  • 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接続に関して

    教えて下さい。 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というユーザでは接続できます。 ユーザ名/パスワードは間違っていませんが、何が問題でしょうか??? そもそもの考え方が間違っているでしょうか、、、 教えて下さい。 よろしくお願いします。

MFC-J4720Nのトラブル解決方法
このQ&Aのポイント
  • インクを新品に交換したがアラーム表示が出て前に進めない問題について相談します。
  • MFC-J4720Nをコピー機として使用したいがうまく接続できない問題について相談します。
  • ブラザー製品MFC-J4720Nのトラブルに関する質問です。
回答を見る