• ベストアンサー

MSAccessからSQLServerのリンクテーブル更新時のエラー

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

質問者が選んだベストアンサー

  • ベストアンサー
  • dee_honda
  • ベストアンサー率53% (26/49)
回答No.2

自信なしですが、 ・ODBCドライバがサポートしていないデータ型を使用している ・テーブル名、項目名に予約語が含まれている ・主キーがついていない という方面でも疑ってみてもいいかもしれません。

その他の回答 (1)

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

>ODBC SQLServerドライバ(2000.85.1117.00) ODBCSQLServerドライバのバージョンが合っていないのでは。 Access2003のSQLServerドライバは3.70.11.46ではないですかAccess2000は3.70.09.61だと思いますが。

kohkin
質問者

お礼

そんなに古いバージョンなはずはないと思うのですが。。。w でもせっかく回答していただいたんで、お礼を申し上げます。ありがとうございました。 とりあえず、全部再インストールしますm(_)m

関連するQ&A

  • AccessとSqlServerのテーブルリンク

    Access2007とSqlServer2008を使用しています。 Accessで作成したテーブルを「データベースツール」-「データの移動」でSqlServerに移行してリンクする際、 (1)SqlServerに新規にデータベースを作成すると、リンクテーブルマネージャから見てもリンク先DBが正しく表示されますが、 (2)その後、その既存DBに同じAccess内の別のテーブルを、「データベースツール」-「データの移動」してリンクしたものは、リンクテーブルマネージャから見てもリンク先DBが ()となっており表示されていません。 ツールとしてSqlServer Management Studioを使っていますが、そこからでも(1)のテーブルは表示されていますが、(2)のテーブルは表示されません。 でもリンクはできているようなのです。 また、SqlServer Management Studioを使って、SqlServer内に新規テーブルを作成し、 それをAccessからリンクしようとしても、テーブルリンク一覧内に表示されない状態です。 (「外部データ」-「ODBCデータベース」…)にて SqlServerのファイルデータソースを表示しています) (2)のテーブルはSqlServer Management Studioから見ることができないため、更新・削除もできず困っています。 DB、テーブル、リンク方法等、何か問題があるのでしょうか? よろしくお願いします。

  • MS-Accessのリンクテーブルで更新

    MS-Accessのリンクテーブルで更新 MS-Accessのリンクテーブルを使用して、 Oracleデータベースの表に対して 値の更新をしようとしていますが、 更新が競合しているというメッセージが出て、 更新できません。 また、値の更新をしようとしているタイミングで、 Oracleデータベース側のリンクテーブル対象表に アクセスしている処理はなく、 更新が競合していることありません。 ODBCドライバの設定では、読み取り専用設定は 実施してない点は確認しています。 使用しているソフトウェアの各バージョンは以下になります。 Access 2007 Oracle 10.2.0.4.0 WindowsXP SP3 ODBCドライバ 10.02.00.01 リンクテーブルからの更新自体がそもそも出来ないのでしょうか? MS-Accessを使用してOracleデータベースの表の値を更新したいと思っているのですが、 解決方法をご存知の方がいらっしゃいましたら、教えていただけないでしょうか?

  • SQLServer2005のODBC接続・更新について

    当方SQLServer2005初心者ですが、おわかりになる方いらっしゃいましたら、ご教示下さい。 SQLServerにODBC接続し、参照、更新を行なうアプリケーションを使用しているのですが、更新を行おうとすると下記エラーが出てしまいます。 **************** 実行時エラー4002:37000 【Microsoft ODBC SQL Server Driver】 SYSSERVERSにサーバーXP_001が見つかりませんでした。 Sp_Add LINKED SERVERを実行してサーバーをSYSSERVERSに追加して下さい **************** 構成としては、サーバー(Windows 2003 Server)にSQLServer2005がインストールされており、当該アプリケーションはWindowsXPのクライアント端末にインストールされています。 ODBCドライバは sqlsrv32.dll(2000.85.1117.00) SQLNCLI.dll(2005.90.2047.00) をそれぞれ試しました(表示されるエラーはドライバ名以外同一でした)。 付帯情報として、アプリケーションのインストールされている端末にSQLServer2005をインストールし、同一端末内で接続する場合には更新も問題なくできます。 原因および対処についてご教示下さい。 宜しくお願い致します。

  • SQLサーバーのテーブルに対してアクセスで更新クエリを行ないたい

    こんばんは。 ・vista ・アクセス2003 ・SQL Server 2005 です。 SQL ServerからテーブルをMDBへリンクしているのですが そのテーブルに対し、アクセス側で更新クエリを実行しようとすると 実行時エラー '3157': ODBC--リンク テーブル'テーブル名'での更新に失敗しました。 [Microsoft][ODBC SQL Server Driver]時間切れになりました。(#0) と言うエラーになり、更新クエリができません。 どうすればアクセスでSQLサーバーのテーブルに対して更新クエリを行えるのでしょうか? よろしくお願いします。

  • ACCESSのODBCリンクテーブルに接続できなくなる

    ACCESSでSQLserverのテーブルとODBCリンクテーブルで連携したアプリケーションの開発を行っているのですが、ときどきテーブルとのリンクが切れてしまい、「実行時エラーです。リンクするテーブルが見つからないので、クエリを実行できませんでした。」というエラーが発生してしまいます。外的要因以外でACCESSではこのようなことはよく起こりうることなのでしょうか。またこの問題を回避できそうな方法をしている方いらっしゃいましたらよろしくお願いいたします。

  • SQLServerへのOpen命令でのエラー

    お世話になります。 ASPの画面からSqlServerにADO経由で接続しているのですが、 時々、Openでエラーとなってしまいます。  oRS.Open "TBL_NAME", 接続情報, 3, 3   → この命令でエラーとなってしまいます。  エラー内容は  「Microsoft OLE Provider for ODBC Drivers (0x80040E14)   [Microsoft][ODBC SQL Server Driver][SQL Server]'TBL_NAME' は テーブル オブジェクトなので、   要求 プロシージャ 'TBL_NAME' は失敗しました。」  と表示されます。 開発環境は以下  OS:Windows2000  データベース:SQLServer2000 となっております。 何方か、ご存じの方がいらっしゃいましたら、お教え願います。 宜しくお願い致します。

  • Oracleによるリンクテーブルでの接続エラー

    よろしくお願い致します。 今、ASPによるWebシステムを作成しています。 データはSQLserver・accessによって管理しています。 システムを動作させているサーバをAとします。 同じネットワーク上のBというサーバのOracleDB内の、ある情報の入ったテーブルを、A上のaccessからリンク(地球のマーク)しています。 そのリンクテーブルを参照して、AのWebシステムを動作させるところ(Select文によるデータ抽出)があります。 しかし、エラー「ODBC--"XXXXX"への接続が失敗しました。」と出てしまいます。 接続にはODBCを利用しており、accessを開いて直接テーブルを見ようとすれば見れます。 しかし、Web上で動作させようとするとエラーが出ます。 何が原因と考えられますでしょうか? ご教授お願い致します。 補足ですが、 OracleのバージョンはA、B共に同じです。 A:Win2000server 、B:Win2003server tnsnames.oraは修正してあり、テーブルも参照は出来ているので問題ないと思います。 Aのaccess(リンクテーブル)からBのテーブルを参照するにはパスワードが必要ですが、レジストリの設定により入力不要にしています。

  • accessでのリンクテーブルの更新

    いつもお世話になっております。 AccessからSQLServerのテーブルにリンクをはっています。 このリンクテーブルをupdate文で更新したいのですが、 「更新可能なクエリであることが必要」とでています。 以前にも類似の質問をしました。 http://okwave.jp/qa/q6581636.html しかし、いったん解決したのですが、別のところで同様の現象が でてしまいました。 調べると、リンク先のSQLServerのテーブルにはキーが存在していて、 Access側からリンクするときには自動的に一意設定されてしまいます。 発行したいupdate文はこのキーとは別の項目が一意になっていないと だめな条件付けがされているのです。 リンクをはるときに、SQLServer側ですでに設定されているキーとは 違った項目を一意項目として選択する方法はあるのでしょうか? 調べてみると、まったくキーのないテーブルをリンクするときは当然、 一意な項目を選べるのですが、キーがすでにある場合はだめな ようでした。 毎度のことでお手数なのですが、どうかよろしくお願い申し上げます。

  • Accessのリンクテーブルについて

    Access2000を使用しているのですが、SQLServerのDBをリンクしなければいけないのですが、ODBCを使用せずにリンクさせる方法はあるのでしょうか? またはモジュールでコードを記述してリンクテーブルを作成する方法でもかまわないのですが・・・。 作成したAccessを配布したPCにODBCを設定するのが面倒なのですが・・・。 なにかいい方法があるのか教えていただきたいです。

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

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