2017-09-12 16 views
1

オブジェクト "テーブル名" を見つけることができませんSQL ServerのIDENTITY_INSERTは、私はJavaのNetBeansで実行

executeUpdate("SET IDENTITY_INSERT TableName ON;INSERT INTO TableName (id,name) VALUES (1,'Name1');SET IDENTITY_INSERT TableName OFF;") 

このエラーが表示されます:

Cannot find the object "TableName" because it does not exist or you do not have permissions.

なぜこれが起こり、どうすればこの問題を解決できますか?

+4

なぜ、id列に明示的な値を入力したいのですか?そうしたいのであれば、なぜそれをアイデンティティタイプで作成するのですか? – Eli

+1

権限の問題のようです。ログイン/ユーザーがそのテーブルに対して適切な権限を持っていることを確認してください。そのユーザーをdbownerにすることが簡単です。 –

+0

管理者だけがIDプロパティをonに設定する必要があります。これを行う際にデータの完全性の問題が発生する可能性が非常に高いです。これは推奨される方法ではありません。だから、あなたはid値を設定しようとしているのですか? – HLGEM

答えて

4

IDENTITYプロパティは、その名前で渡されたものだけを行うようにします。明示的にIDを渡す必要はありません。具体的なIDと名前を関連付ける必要があります。使用していない値に追いつく必要があります。IDENTITYは役に立たないでしょう。この場合、IDカラムにユニークな制約を追加するだけです。

INSERT INTO TableName (name) VALUES ('Name1')

関連する問題