SQLの更新方法について

このQ&Aのポイント
  • SQLの更新方法について環境、現象、解決方法について説明します。
  • SQLの更新方法について説明します。特にODBCを通してアクセスした際に、削除したテーブルが表示される現象について解説します。
  • SQLの更新方法についてお困りですか?ODBCを通してアクセスした際に削除したテーブルが表示される現象について解決方法をまとめました。
回答を見る
  • ベストアンサー

SQLの更新方法について

SQLの更新方法について 環境 OS:windows XP home sql server express2008 Microsoft SQL Server Management Studio 10.0.1600.22 現象 MS ACCESSからODBCを通してsql server express2008の中に作ったテーブル”TB01”にアクセスしていました。 あるときSQL Server Management StudioでTB01を削除しました。 ところがACCESSからODBCを通して接続すると削除したはずのテーブル”TB01”が見えていて リンクを張るとデータも出てきます、 ためしに新しくデータベースを作ってテーブルを作成してもODBCからは昔のままのテーブルしかありません。 SQL SERVERを再起動しても変わりません、どのようにすればSQLの内容を更新できるのでしょうか? どなたかお知恵を拝借願います。

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

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

キャッシュなどを疑う以前に私などはインスタンス(SQL Server Express2008)とテーブル(TB01)だけでデータベースに言及されていないことが気になります。 「新しいデータベースを作っても中のテーブルが見えない」となるとさらに?です。 そもそもODBCはどのデータベースを向いているのでしょうか? 質問者さんの削除したテーブルは本当にAccessから見ているテーブルと同一のものですか?

matupo
質問者

お礼

ご返信有難う御座います、 環境の部分で書き忘れておりましたが、SQL SERVERとSQL server managerは同一のPCにインストールしています。 ですので違うSQLを参照したとは考えにくいのですが。 その後SQL2008EXPRESSをアンインストールして再インストールしたところ例の削除したテーブルは見れなくなりました、 ただ新しいテーブルを作成してもODBCを通して見れません、 おそらくユーザー、ロール、ユーザーマッピングなどの設定を行わないとだめなのかなと思っております、 消したはずのテーブルが見える件も分からないのですが、それよりも作成したテーブルを見ることの方が優先です。 ネットなどでその辺のところの参考になるところを探して入るのですが少し分かりずらい記事が多いようです ユーザー、ロール、ユーザーマッピングの関係をご説明いただくか、分かりやすく解説してくださっているサイトがあればご紹介いただけると有難いです、 OSQLやTSQLなどのコマンドから勉強すれば理解が深まるのでしょうか? 何かアドバイスがあれば頂きたく存じます。

その他の回答 (2)

  • 3rd_001
  • ベストアンサー率66% (115/174)
回答No.3

ODBCの設定を確認してください。 「規定のデータベースを以下の物に変更する」の項目は、どうなっているでしょうか。 ODBCのDSNでは上記で指定したDB上に存在するものが表示されます。 新しいDBを作成したとしても、そのDBを参照するように設定しないと参照出来ません。 DSNで指定したDB上のテーブルと、ManagementStudioで参照しているDB上のテーブルは一致しますか? 上記を確認してください。 >あるときSQL Server Management StudioでTB01を削除しました。 >ところがACCESSからODBCを通して接続すると削除したはずのテーブル”TB01”が見えていて >リンクを張るとデータも出てきます、 上記ということは、別のDBを操作していると思われます。 SQL Serverを再インストールしたとのことですが、その設定をODBC側に反映させていますか。また、SQL Serverは外部接続可能な設定にしていますか。

matupo
質問者

お礼

アドバイス有難う御座います、 3rd_001様のご指摘の部分が設定されていない事が 接続できない原因でした、 お陰さまで問題が解決致しました、 有難う御座いました。

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.2

#1です。 ODBCを作成するときに、既定のデータベースを指定する箇所がありますが、そこを何も変更しないとユーザの既定のデータベースを見に行くと思います(普通にユーザを作るとmasterです)。 テーブルを作る時に新しいデータベース(DB1とします)を作成して、その中にテーブルを作成したと思いますが、 私が申し上げたかったのは「ODBCがDB1ではなく、masterというシステムデータベースを向いている可能性はないですか?」ということです。 もしそうなら、いくらDB1の中にテーブルを追加しようと、見えるようにはなりませんので。

matupo
質問者

お礼

ご教授有難う御座いました、 仰るとおりODBCの設定で データベースに触れるように成りました、 大変感謝いたします。

関連するQ&A

  • SQLクエリでデータベースが壊れる?

    AccessアプリでSQL Serverデータベースを更新しています。 データベースをODBCデータソースとして登録して、AccessdeそのODBCデータソースへのリンクテーブルを作っています。 データベースが何回か壊れたのですが、AccessVBAから発行したリンクテーブルへのSQLクエリでデータベースが壊れるようなことはあるんでしょうか? あるとしたら、そのクエリを発行すると必ず壊れると思うんですが・・・。 同じAccessアプリを使っても、データベースが壊れない環境もありますし・・・。 データベースが壊れた原因がわからなくて困っています。 Windows 7、SQL Server 2008 R2 Express です。

  • ACCESSからODBC接続での書き込みや更新

    ACCESSからODBC接続での書き込みや更新 環境 OS:WindowsXP home SQL Server Express 2008 SQL server manegement studio 2008 パソコンネーム:pc01に SQL Server Express 2008をインストールしてあり そのパソコンからマイクロソフトACCESSからODBC経由で SQLにアクセス(全て同一パソコン) SQL server manegement studioで 以下のようにデータベースを作成しました データベース名:DB01 テーブル名:tbl_01 所有者:pc01\user1 ODBC接続の設定 以下3点以外は規定値 接続するSQLサーバーの名前:pc01\SQLEXPRESS ネットワークへのログインIDでWindows NTの認証メカニズムを使う 規定のデータベースを以下のものに変更する:DB01 この状態でACCESSからODBC経由でDB01のtbl_01に接続しても 新規書き込みや更新が出来ません、 書き込みや更新をしたい場合何を設定すれば良いのでしょうか? SQL server manegement studioで ユーザー、ロール、マップなどを 色々触って見たのですがテーブルの閲覧は出来ますが 更新や新規書き込みが出来ません。 確認すべき項目など御座いましたら具体的にお教え願えれば 幸いです、よろしくお願い致します。

  • SQLサーバーのテーブルの値が更新できません

    お尋ねします。 SQLサーバー2005にDB1というデータベースにdbo_TB1というテーブルがあります。そのテーブルの特定の列の値を更新したいので、AC.mdbというアクセスのファイルにテーブルのリンクをし、更新したいファイルを用意して、アクセスのクエリでデータを更新しようとしましたところ、更新ができませんでした。  dbo_TB1を更新可能にするためには、どのようにして権限を与えればいいでしょうか。  SQLサーバー2005の知識を習得しようと学習を始めたばかりで、よく理解できていません。よろしくお願いします。

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

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

  • SQL Server Management studioで

    SQL Server Management studioで 新しくデータベース(MyDatabase)、テーブル(NameTable)を作成してみたんですが、 Visual Web developer 2010 Express のデータベースエクスプローラから MyDatabase.mdfを開こうとしても「このファイルは使用されています。…」 というような文言が出てきて、呼び出せません。 Vista,SQL Server 2008,Visual Web developer 2010 Expressの環境です。 どなたか教えて下さい。

  • SQLサーバーにあるテーブルをaccessに「テーブルのリンク」をしたい

    こんばんは。 SQL Server 2005の中にある データベース名:test テーブル名:テーブル1 をアクセス2003にリンクしたいのですがどうすればいいのかわかりません。 データベースウインドウのテーブルのところの何もない所で 右クリック → テーブルのリンク をするとファイルを選択するダイアログが開きます。 「SQL Server Management Studio Express」を選択し そこからどうすればいいのでしょうか? また「ファイルの種類(T)」は何を選択すればいいですか? デフォルトでは 「Microsoft Office Access(*.mdb;*.mda;*.mde)」です。 以上よろしくお願いします。

  • ODBC接続で新しいレコードを追加できない

    OS XP SP3、ACCESS2003 DBはSQLserver2005express です SQL Server Management Studio Express を使って 新しいDB、テーブル、項目は作成できました。 また同じツールを使って手入力でデータを追記することもできます 質問はこのテーブルを ACCESSからODBC接続して 追加クエリーを実行したいのですが リンクしてテーブルを開いた時点で新規レコードが追加できない状態です。 サーバーの更新をしたく、少ないデータであれば手入力でも 大量のデータでは…ACCESSのクエリーを使いたいと思っております。 ODBC接続の設定が読み取り専用になっているのか そうであれば その設定はどこにあるのか 教えてもらえないでしょうか? 宜しくお願いいたします

  • SQL Server 2005 Express

    MS SQL server 2005 express edition をWindows7のパソコンにインストールをしたいです。 必要なインストール物、必要な環境条件など分からない素人です。 教えていただけないでしょうか。 以下の2つで宜しいのでしょうか? Microsoft SQL Server 2005 Express Edition Service Pack 3 Microsoft SQL Server Management Studio Express Service Pack 3 .NETFrameworkのバージョンやWindow7の更新プログラムやサービスパックなどは どのような環境であれば宜しいのでしょうか? すみません。よろしくお願い致します。

  • SQL Server 2008 Express

    Windows Server 2003 に SQL Server 2005 Express で使っている環境の バックアップ目的で サーバ機とWindows Server 2008 R2 Standard (64ビット版)を 購入し、SQL Server 2008 Express をインストールしました。 OSとSQL Server 2008 Expressのインストールはここ数日何度もトライしましたが、 解決に至りません。 Windows Server 2003 に SQL Server 2005 Express上のデータベースに 対して、クライアントは、Windows XP + Office Pro 2003でAccess より リンクテーブル→ODBCデータベース→SQL Server で進めていって テーブルが出てきますが、新しく構築したサーバ機でテストすると。 作成したデータベースが表示されません。 全く表示されないのではなく、デフォルトで入っている、master等は表示されます。 2005から2008へデータベースファイルを持ってきたことが原因と思い、 2008側で作りましたが、やはり、それも表示されません。 OSとの相性が問題かと思い、別のWindows 7 へ入れてみましたが、同じ現象です。 SQL Server 2008 Express 接続でネットで検索をかけると、全く繋がらないと いった質問だけで、ポートを空けるとか言った回等で解決に至ったか分からない まま、締め切られています。 自分の場合は、全く症状が違っていて、繋がるのですが、作成したのが見れないんです。 このような症状あると思うんですが、質問自体見つかりません。 Microsoft に問合せしましたが、所詮無償のものですので、テクネットやこちらを 紹介され、そちらで解決して下さいとのことで困っています。

  • 共有したい場合は何を共有フォルダに移行すればいいですか?

    会社の業務についてですが教えてください。 OS:2000 アクセス2003を使用しています。 SQL Server Management Studio Expressは2005です。 テーブルをSQL Serverへ移行して フォームが入ったMDBファイルをハードディスクに保存し SQL Serverにあるテーブルをリンクテーブルとして表示させたいのですが D:\My Documents\SQL Server Management Studio Express ごと共有フォルダに移行すればいいのでしょうか? それとも特定のフォルダ(「Projects」など)のみ移行するべきなのでしょうか? また移行後必要な設定などがあれば教えてください!