• 締切済み

MS Accessからのデータベース接続について

MSAccessでODBCを介してPostgresで構築したDBのテーブルへリンク接続する際に、以下のようなエラーが発生します。 「"○○○"が見つかりません。パラメータや別名が正しいこと、無効な文字や区切り記号が含まれていないこと、または名前が長すぎないことを確認してください。」  ※○○○には、インデックス名が入っています。 Indexをつける前に接続したいくつかのテーブルは接続できています。が、Index をつけて以降、新らたに接続しようとするとエラーが出て接続できない状況なの です。 Index名に日本語を使っているのが問題のような気がしますが、どうなのでしょうか? もしそうだとして、Index名を変更することはしたくないので、何かドライバ側からなどの設定変更などで、対応できないかと思っています。 ※ちなみに、ODBCドライバはPostgresSQL Unicode対応(ベータ版)を使っています。DBをUnicodeで扱っているので。 よろしく、お願いいたします。

みんなの回答

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

ODBC設定を単体で確認する手段があります。データベースリンクといいます。 以下で作成して確認してみてください。 事前に「ファイルの拡張子を表示する」にしておいてください。 1)デスクトップにでも、新規作成>テキストドキュメントをクリック。 2)名前を「ODBCTEST(任意です).UDL」と変更します。   「拡張子を変えると・・」と警告がでますが、無視して続行。 3)アイコンが「表の前にPC」になるので、ダブルクリックで起動。 4)タブ「接続」が出てるので1.データソースで作成されたDSNを選択。 5)2.でユーザID・PWを入力。 6)ボタン「接続のテスト」をクリック。

nobeve
質問者

お礼

アドバイスありがとうございます。 ご教授の通り行ったところ、「接続のテストに成功しました」のメッセージが出ました。 では、この先に何か問題があるのでしょうか? 教えてください。

関連するQ&A

  • MSAccessでODBCを介してDB接続する際のエラー

    MSAccessでODBCを介してPostgresで構築したDBのテーブルへ接続する際に、以下のようなエラーが発生します。 「"○○○"が見つかりません。パラメータや別名が正しいこと、無効な文字や区切り記号が含まれていないこと、または名前が長すぎないことを確認してください。」  ※○○○には、インデックス名が入っています。 テーブルに、インデックスを付けてから以降に現れだした現象で、インデックス名に日本語を使っているのが問題のような気がしますが、どうなのでしょうか? もしそうだとして、インデックス名を変更することはできないので、何かドライバ側からなどの設定変更などで、対応できないかと思っています。 ※ちなみに、ODBCドライバはPostgresSQL Unicode対応(ベータ版)を使っています。DBをUnicodeで扱っているので。 よろしく、お願いいたします。

  • ACCESSでODBC接続の可能性を考慮しています。

    ACCESSでODBC接続の可能性を考慮しています。 ACCESS2007とACCESS2010からPostgresのDBかMySQLのDBへ ODBC接続するシステムの作成を考えています。 その上で課題として 1.PostgresかMySQLへODBC接続は可能か? 2.DB側でlocalhost以外の接続をはじくような設定はあるか? という問題があります。 お分かりになる方はいましたら、ご教授お願いいたします。

  • PostgresSQL-7.1.2におけるgrantコマンドに関して

    お世話になります。 ただいま古くなったサーバを再構築しております。 そこで初めてPostgresSQLを使ってみております。 Win上のVBアプリからODBCで HedHat9&PostgresSQL-7.1.2のDBに 書き込んだり覗いたりが目標です。 とりあえずDBを作ってデータを戻して ACCESSからODBCでDBを覗いております。 管理者ユーザ「postgres」からなら 問題なく読み書きできます。 DBαとDBβというDBが二つ有あり クライアント側の設定も変えたくないので 既存にあわせてそれぞれ用の一般ユーザ AとBを作りました。 grantコマンドを使えばそれぞれのユーザに対応するDBの 読み書き削除の権限をもらせることが出来るようですが テーブルがものすごい量なので 対応するDBのすべてのテーブルの 権限を与えたいと考えております。 テーブル名をアスタリスクで指定すると 一括ですべての権限を与えられるようですが アスタリスクを受け付けてくれないようです。 他の方法で権限を与えることは出来るでしょうか。 お分かりになられる方がおられましたら ご一報いただけると幸いです。

  • MS Accessの外部リンク先変更

    MS Accessの外部リンク先を一括で変更出来る方法を教えて下さい。 MS Access ver.2002 現在業務システムをMSaccessと連携させてデータを取っています。 業務システムのデータはSQLサーバーにあり、accessからODBCドライバ経由で外部リンクしています。 テーブルプロパティはこんなカンジ ODBC;DRIVER=SQL Server;SERVER=[サーバー名];APP=2007 Microsoft Office system;WSID=HP09;DATABASE=[データベース名];Trusted_Connection=Yes;TABLE=dbo.[テーブル名] 先週サーバーの入替えがあり、[サーバー名]が変更になったためODBCの構成を新サーバー名に変えたのですが、accessの外部リンクには反映されなかったので、いっこいっこリンクテーブルマネージャでこリンク先の変更をしました。 しかしサーバーに不具合でもあるのか、毎日のように業者が来てはサーバーをいじくり、その度にリンク先が元のサーバー名に戻ってしまいます。 テーブルが複数あるので毎日リンクテーブルマネージャで変更するのはしんどいです。 良い方法ありませんか?

  • データベースに接続できない

    『PHP5逆引き大全500の極意』にあるサンプルスクリプトで PHPとMYSQLと学んでいます。 XAMPPもインストールし、スタンドアロンでMysqlを操作しようと しています。 しかし、どのサンプルスクリプトをいじっても接続できません。 require("config.php"); header("Content-Type: text/plain; charset=EUC-JP"); $db = odbc_connect(ODBC_CONNECT_DSN, ODBC_CONNECT_USER, ODBC_CONNECT_PASS) or die("データソースに接続できません!\n"); でエラーがでています。 ちなみにconfig.phpの内容 // DSN define("ODBC_CONNECT_DSN", "DSN=sample_db;"); // ユーザー名 define("ODBC_CONNECT_USER", "username"); // パスワード define("ODBC_CONNECT_PASS", "password"); // テーブル名 define("ODBC_TABLE_NAME", "php500"); となっています。SQL文を実行し、テーブルを作りましたが、 上手く言っているかどうか・・・。 文字コードをちゃんと設定していないせいか、????????のような データがカラムに入っています。 サンプルスクリプト上、データベースが自動作成されるスクリプトも あるのですが・・・。 1.useename、userpassの設定 2.phpMyAdminでデータベースを作成する方法 3.データベース作成時の文字コードの設定。utf?sjis? についてヒント頂けたら幸いです。

    • ベストアンサー
    • MySQL
  • MSAccessからSQLServerのリンクテーブル更新時のエラー

    MSAccess2000または2003からSQLServer2000のテーブルをODBC経由でリンクテーブルとし、直接開いてデータを更新しようとしたら「オプション機能は実装されていません」とのODBCエラーが出ます。 バージョンは以下の通りです。 SQLServer2000(SP3a) MSAccess2000(SP2) MSAccess2003(SP2) ODBC SQLServerドライバ(2000.85.1117.00) テーブルによってエラーが出るときと出ないときがあるのですが、特別違いは見当たりません。 解決策を教えてください。よろしくお願いします。

  • 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ドライバーの再インストールを試みましたが、上記エラーが解消されません。 自業自得なのは重々承知しておりますが、復旧できなくて大変困っています。 お忙しいところ申し訳ありませんが、復旧方法のご教授をお願いいたします。 以上です。

  • 【大至急】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ドライバーの再インストールを試みましたが、上記エラーが解消されません。 自業自得なのは重々承知しておりますが、復旧できなくて大変困っています。 お忙しいところ申し訳ありませんが、復旧方法のご教授をお願いいたします。 以上です。

  • [Oracle8i]ODBC経由でデータベースリンクに接続できますか?

    こんばんわ、ZIGENといいます。 はじめて、データベースリンクというものを 作成してみまして、Net8からは、無事接続し 対象のテーブルをSELECTできました。 しかし、ODBC経由で同じテーブルを参照しようと すると、以下のエラーになってしまいます。 --- SQLSTATE:S1000 Native Error Code:2041 Driver Message:[Oracle][ODBC][Ora]ORA-02041 クライアントデータベースはトランザクションを 開始しませんでした。 --- これはどういうことなのでしょうか? ODBC経由では接続できないということでしょうか? よろしくお願いします。

  • ACCESSからODBC接続でORA-12504

    Access上でオラクルのテーブルのリンクを設定しようと していますが、「ORA-12504」のエラーが表示されてしまい 接続できず、困っています。 【エラー詳細】 ODBC-呼び出しが失敗しました。 [Oracle][ODBC][Ora]ORA-12154 TNS~ (#12154)[Microsoft][ODBC Driver Manager]ドライバのSQLSetConnectAttrは失敗しました。(♯0)[Microsoft][ODBC Driver Manager]ドライバのSQLSetConnectAttrは失敗しました。(#0) なお、SQLPlusで接続ができていますし、ODBCアドミニストレータ の接続テストも成功します。 Accessで問題があるのでしょうか? 【環境】 OS:WinXP x64 Access:003 Oracle:サーバ 10g(10.2.0.1) for 64-bit    :クライアント 10g(10.1.0.2) for 32-bit     ※64-bitのオラクルクライアントはAccessが      ドライバを認識しないため使用できませんでした。 何かわかりましたらご教授ください。 よろしくお願いします。