お尋ねします。
SQLサーバー2005にDB1というデータベースにdbo_TB1というテーブルがあります。そのテーブルの特定の列の値を更新したいので、AC.mdbというアクセスのファイルにテーブルのリンクをし、更新したいファイルを用意して、アクセスのクエリでデータを更新しようとしましたところ、更新ができませんでした。
dbo_TB1を更新可能にするためには、どのようにして権限を与えればいいでしょうか。
SQLサーバー2005の知識を習得しようと学習を始めたばかりで、よく理解できていません。よろしくお願いします。
No.2ベストアンサー
- 回答日時:
通常SQL Serverの権限はデータベース/ユーザ単位につけるもので、個別のテーブルに権限をつけることは極めて稀です。
また、SQL Serverにはテーブル単位で読み取り専用にする機能もありません。
実際に更新権限をはずしても、表示されるメッセージは異なります。
ということで、ずいぶん悩みましたが、可能性が1つありました。
そのテーブルには主キーがなく、しかも、主キーを指定しないままリンクしたのではありませんか?
主キーのないリンクテーブルは更新できません(ODBCドライバの仕様上)。
その点を確認してみていただけますか?
この回答への補足
おっしゃる通り主キーの設定がありませんでした。
主キーの設定をすることで、データの更新ができました。
ご教授ありがとうございました。
No.1
- 回答日時:
・更新できなかったときのエラーメッセージは何でしたか?
(SQL Server側での権限不足が理由だと判断できるようなものでしたか?)
(そのテーブルを照会することはできるのですか?)
・そのSQL Serverは質問者さんが管理されているものですか?
(SQL Server Management Studioを使って管理者権限でログインできますか?)
・今リンクに使っているユーザはsaとかですか?別に作成したものですか?
それともWindowsのユーザIDですか?
・リンクサーバはどうやって行いましたか?
(ODBCのメニューでDSNを作成してそれを指定しましたか?それとも別の方法ですか?)
・ACCESSのバージョンは何ですか?
ありがとうございます。
・更新できなかったときのエラーメッセージは何でしたか?
→「更新可能なクエリであることが必要です。」というメッセージでした。
・そのSQL Serverは質問者さんが管理されているものですか?
→私は、管理者権限がありますが。
・今リンクに使っているユーザはsaとかですか?別に作成したものですか?それともWindowsのユーザIDですか?
→サーバーへは、Windows認証でログインしています。そのデータベースにある他のテーブルリンクされたファイルはアクセスを使って更新が可能です。
・リンクサーバはどうやって行いましたか?
→ODBCのメニューでデータソースを選んで作成しました。
・ACCESSのバージョンは何ですか?
→2003を使っていますが、2000のファイル形式でアクセスのファイルは作られています。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Oracle sqlで質問です。 Aテーブルの情報をBテーブルに更新かけたいです。 やりたいことは、Bテーブルの受 1 2023/05/17 11:17
- Oracle sqlのupdate文で質問です。 テーブルBの番号をキーにテーブルAの身長をテーブルBの身長に更新 2 2022/11/02 15:15
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Oracle SQL update方法 2 2022/06/22 14:07
- その他(Microsoft Office) エクセルでテーブルの最終行が自動追加されない 1 2023/01/04 15:09
- Excel(エクセル) Excelでデータを抽出するに良い方法 9 2023/02/06 12:42
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- MySQL 複数DBテーブルからのデータ取得 3 2022/05/17 15:02
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
SQLServer sqlcmdが使えない
SQL Server
-
DBを復元したら「読み取り専用」となってしまいました
SQL Server
-
ACCESSのフォームからデータの追加ができない
その他(データベース)
-
-
4
ODBCで接続するとDBに変更/追加出来ない。
SQL Server
-
5
メッセージボックスを大きくする方法
Visual Basic(VBA)
-
6
あるテーブルのデータを追加、更新、削除できないようにするには?
SQL Server
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
クエリのキャンセルがいつにな...
-
ユニオンクエリの結果をテーブ...
-
UNIONなどで複数のテーブルから...
-
accessテーブル作成クエリを実...
-
IDENTITY列の複数テーブルへのI...
-
位置を指定してフィールドを追...
-
重複するレコードに対しフラグ...
-
エクセルでテーブルの最終行が...
-
Access のリレーションシップで...
-
あるテーブルのデータを追加、...
-
SQLサーバでテーブルをコピーする
-
SQL2000サーバーのテーブル容量...
-
ストアドをまたがるローカル一...
-
Accessにインポートした複数の...
-
テーブル作成クエリで新テーブ...
-
エクセルの参照結果を空欄を詰...
-
「マスタ」と「テーブル」の違...
-
2つのテーブルから条件に一致...
-
ACCESSのSQLで、NULLかNULLでな...
-
ACCESS 一つのフィールドに複...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
accessテーブル作成クエリを実...
-
クエリのキャンセルがいつにな...
-
SI Object Browserのテーブルス...
-
エクセルでテーブルの最終行が...
-
UNIONなどで複数のテーブルから...
-
Accessにインポートした複数の...
-
ストアドをまたがるローカル一...
-
SQLについて質問です。 テーブ...
-
ユニオンクエリの結果をテーブ...
-
あるテーブルのデータを追加、...
-
SQLサーバーのテーブルの値...
-
位置を指定してフィールドを追...
-
レプリケーションしているテー...
-
コンボボックスで入力したもの...
-
AccessVBAで降順にするテーブル...
-
重複するレコードに対しフラグ...
-
列サイズ変更時、DB停止は必要?
-
SQLスクリプトを自動生成する方法
-
Access のリレーションシップで...
-
VIEWしか読み取れないユーザの...
おすすめ情報