質問: Open table/close table メソッドを使用して、新しいテーブルを
dexterity SQL作成します。 ただし、"テーブルを開く" ステートメントでは、次SQLエラーが返されます。"テーブル xxx の開いている操作は、データへのアクセス
にSQLされます。[詳細情報] をクリックすると、"[Microsoft][ODBC SQL Server Driver][SQL Server] データベースに PKADSY4997 という名前のオブジェクトが既に存在します。 [Microsoft][ODBC SQL Server Driver][SQL Server]制約を作成できません。 以前のエラーを確認してください。"
テーブルの物理名は PKADSY4997 で、このテーブルの zDP ストアド プロシージャも存在しません。 エラーの原因は何ですか?
回答: この場合、テーブルは以前に作成および削除されましたが、何らかの理由でテーブルの制約が
削除されません。
クエリ アナライザーでは、次のクエリを実行しました。sysobjects から * を選択します
。name = 'PKADSY4997' 返される ID は
151193332、parent_obj は 173243672 です。
[parent_obj] 列を見て、次に親オブジェクトに対して選択クエリを実行し、見つからなかった。 そのため、これは予想通り孤立した制約でした。
その時点で、孤立した制約を削除する必要がありました。 ただし、最初に設定を変更する必要がありました。
[プロパティSQL Server] ウィンドウには、この制約を削除するためにマークする必要があるチェック ボックスがあります。システム カタログに直接変更を加える必要があります。
クエリ アナライザーから:
name = 'PKADSY4997' という sysobjects から削除します。これで制約が削除され、テーブルを
Dexterity から正しく再作成できます。
この記事は TechKnowledge Document ID:26107 でした