- ベストアンサー
SQLの更新方法について
- SQLの更新方法について環境、現象、解決方法について説明します。
- SQLの更新方法について説明します。特にODBCを通してアクセスした際に、削除したテーブルが表示される現象について解説します。
- SQLの更新方法についてお困りですか?ODBCを通してアクセスした際に削除したテーブルが表示される現象について解決方法をまとめました。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
キャッシュなどを疑う以前に私などはインスタンス(SQL Server Express2008)とテーブル(TB01)だけでデータベースに言及されていないことが気になります。 「新しいデータベースを作っても中のテーブルが見えない」となるとさらに?です。 そもそもODBCはどのデータベースを向いているのでしょうか? 質問者さんの削除したテーブルは本当にAccessから見ているテーブルと同一のものですか?
その他の回答 (2)
- 3rd_001
- ベストアンサー率66% (115/174)
ODBCの設定を確認してください。 「規定のデータベースを以下の物に変更する」の項目は、どうなっているでしょうか。 ODBCのDSNでは上記で指定したDB上に存在するものが表示されます。 新しいDBを作成したとしても、そのDBを参照するように設定しないと参照出来ません。 DSNで指定したDB上のテーブルと、ManagementStudioで参照しているDB上のテーブルは一致しますか? 上記を確認してください。 >あるときSQL Server Management StudioでTB01を削除しました。 >ところがACCESSからODBCを通して接続すると削除したはずのテーブル”TB01”が見えていて >リンクを張るとデータも出てきます、 上記ということは、別のDBを操作していると思われます。 SQL Serverを再インストールしたとのことですが、その設定をODBC側に反映させていますか。また、SQL Serverは外部接続可能な設定にしていますか。
お礼
アドバイス有難う御座います、 3rd_001様のご指摘の部分が設定されていない事が 接続できない原因でした、 お陰さまで問題が解決致しました、 有難う御座いました。
- jamshid6
- ベストアンサー率88% (591/669)
#1です。 ODBCを作成するときに、既定のデータベースを指定する箇所がありますが、そこを何も変更しないとユーザの既定のデータベースを見に行くと思います(普通にユーザを作るとmasterです)。 テーブルを作る時に新しいデータベース(DB1とします)を作成して、その中にテーブルを作成したと思いますが、 私が申し上げたかったのは「ODBCがDB1ではなく、masterというシステムデータベースを向いている可能性はないですか?」ということです。 もしそうなら、いくらDB1の中にテーブルを追加しようと、見えるようにはなりませんので。
お礼
ご教授有難う御座いました、 仰るとおりODBCの設定で データベースに触れるように成りました、 大変感謝いたします。
お礼
ご返信有難う御座います、 環境の部分で書き忘れておりましたが、SQL SERVERとSQL server managerは同一のPCにインストールしています。 ですので違うSQLを参照したとは考えにくいのですが。 その後SQL2008EXPRESSをアンインストールして再インストールしたところ例の削除したテーブルは見れなくなりました、 ただ新しいテーブルを作成してもODBCを通して見れません、 おそらくユーザー、ロール、ユーザーマッピングなどの設定を行わないとだめなのかなと思っております、 消したはずのテーブルが見える件も分からないのですが、それよりも作成したテーブルを見ることの方が優先です。 ネットなどでその辺のところの参考になるところを探して入るのですが少し分かりずらい記事が多いようです ユーザー、ロール、ユーザーマッピングの関係をご説明いただくか、分かりやすく解説してくださっているサイトがあればご紹介いただけると有難いです、 OSQLやTSQLなどのコマンドから勉強すれば理解が深まるのでしょうか? 何かアドバイスがあれば頂きたく存じます。