お尋ねします。
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も見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
SQLServer sqlcmdが使えない
SQL Server
-
DBを復元したら「読み取り専用」となってしまいました
SQL Server
-
メッセージボックスを大きくする方法
Visual Basic(VBA)
-
-
4
ACCESSのフォームからデータの追加ができない
その他(データベース)
-
5
ODBCで接続するとDBに変更/追加出来ない。
SQL Server
-
6
あるテーブルのデータを追加、更新、削除できないようにするには?
SQL Server
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
accessテーブル作成クエリを実...
-
エクセルでテーブルの最終行が...
-
クエリのキャンセルがいつにな...
-
Accessにインポートした複数の...
-
テーブル作成クエリで新テーブ...
-
SQLスクリプトを自動生成する方法
-
レプリケーションしているテー...
-
SQL Serverのテーブル追加を、A...
-
SQLサーバーのテーブルの値...
-
SI Object Browserのテーブルス...
-
位置を指定してフィールドを追...
-
Access のリレーションシップで...
-
列サイズ変更時、DB停止は必要?
-
「マスタ」と「テーブル」の違...
-
ACCESSのSQLで、NULLかNULLでな...
-
SELECT時の行ロックの必要性に...
-
sqlserverで集計結果をUPDATEし...
-
2つの項目が重複するレコード...
-
数百万件レコードのdelete
-
ACCESS2007 フォーム 「バリア...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
accessテーブル作成クエリを実...
-
クエリのキャンセルがいつにな...
-
SI Object Browserのテーブルス...
-
エクセルでテーブルの最終行が...
-
UNIONなどで複数のテーブルから...
-
Accessにインポートした複数の...
-
ストアドをまたがるローカル一...
-
SQLについて質問です。 テーブ...
-
ユニオンクエリの結果をテーブ...
-
あるテーブルのデータを追加、...
-
SQLサーバーのテーブルの値...
-
位置を指定してフィールドを追...
-
レプリケーションしているテー...
-
コンボボックスで入力したもの...
-
AccessVBAで降順にするテーブル...
-
重複するレコードに対しフラグ...
-
列サイズ変更時、DB停止は必要?
-
SQLスクリプトを自動生成する方法
-
Access のリレーションシップで...
-
VIEWしか読み取れないユーザの...
おすすめ情報