• ベストアンサー

更新・削除エラーについて

かなり困っているので投稿させていただきます SQLServerで操作していて、更新・削除しようとすると以下のようなエラーが出て更新できなくなります。 更新された行はありません 行 のデータはコミットされませんでした。 エラーソース: Microsoft.VisualStudio.Data Tools. エラーメッセージ:変更、削除された行の値は、複数の行(2行)を変更するか、または行を一意なものにしません。 このエラーの解消方法が全くわかりません。 エラーの解消方法を御教授お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.3

ご参考まで。 http://support.microsoft.com/kb/925719/ja BUG] SQL Server Management Studio、SQL Server 2005 のテーブルの行を更新を使用するしようとすると、エラー メッセージが表示されることがあります。 このような更新がエラーになる理由は容易に推測がつくので、正直これをMSがバグと認識しているとは思いませんでした。 (ちなみに2008でも別に直っているフシはありません) 対応策はサロゲートキー(代替キー)を追加してでも主キーのあるテーブルにするか、テーブルの値を直接手打ちするのはあきらめ、 UPDATE文を使用することくらいです。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

noname#111860
noname#111860
回答No.2

> 1レコードの更新を目的としています。 > 原因は全く同じデータの入ったレコードが2つ存在しているときに 発生します。 「データを一意に判別する条件がない」テーブルの場合、 まったく同じデータのレコードが複数存在することに どのような意味があるのかがわかりません。 そういったことが発生するのは、設計上起こりうる(目的としている動き?)のでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
noname#111860
noname#111860
回答No.1

エラーメッセージからの予測ですが一意制約キーを疑いたいです。 発行するSQL文は、 1つのテーブルに対して複数レコードの更新を目的としていますか? それとも1レコードの更新を目的としていますか? 前者の場合、キー項目に対して更新してしまっていないか? 後者の場合、複数レコードが対象となってしまうケースが無いか? の調査が必要かと

2005073
質問者

補足

1レコードの更新を目的としています。 原因は全く同じデータの入ったレコードが2つ存在しているときに発生します。 そのようなときの対処方法をお願いします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ManagementStudioからのデータ削除

    初めてSQL Server 2008 Expressを入れて使用しているのですが、 作成したテーブルに同一データをいれて、 SQL Server Management Studio から上位200行編集を選択し その入れたデータを削除すると、エラーが発生して削除できません。 エラー内容は、 エラーメッセージ:行の値が更新または削除された為、行が一意になりません。または複数の行が更新されます。 特にプライマリキーの設定やインデックスなどは使用していないのですが、何か設定が必要なのでしょうか。 初歩的な質問で申し訳ありませんが、よろしくお願い致します。

  • VB2008でデータソース取得時にエラーが出ます。

    OS:WindowsXP、VB2008+SQLSERVER2005の環境でデータベースソフトを作成中ですが、データーソースを取り込む際に、下記のエラーが出ます。 ネットで調べてVB2008、SQLSERVERの再インストールなどを行いましたが、解決しませんでした。 このようなエラーが出た方がいらっしゃれば、解決方法をご教示下さい。 'Microsoft.VisualStudio.DataDesign.SyncDesigner.SyncFacade.SyncTableConfigManager'のタイプ初期化子が例外をスローしました。

  • あるテーブルのデータを追加、更新、削除できないようにするには?

    SQLServer2000 あるテーブルのデータを追加、更新、削除できないようにするにはどのようにしたらいいでしょうか。 どなたかご存知の方、お教え下さい

  • 更新されず削除される

    ASP.NETのFormViewの編集画面で 変更したいテキストボックスの中身をかえて 更新をクリックすると データが更新されることなく 削除されてしまいます。 なぜでしょうか?

  • accessでのリンクテーブルの更新

    いつもお世話になっております。 AccessからSQLServerのテーブルにリンクをはっています。 このリンクテーブルをupdate文で更新したいのですが、 「更新可能なクエリであることが必要」とでています。 以前にも類似の質問をしました。 http://okwave.jp/qa/q6581636.html しかし、いったん解決したのですが、別のところで同様の現象が でてしまいました。 調べると、リンク先のSQLServerのテーブルにはキーが存在していて、 Access側からリンクするときには自動的に一意設定されてしまいます。 発行したいupdate文はこのキーとは別の項目が一意になっていないと だめな条件付けがされているのです。 リンクをはるときに、SQLServer側ですでに設定されているキーとは 違った項目を一意項目として選択する方法はあるのでしょうか? 調べてみると、まったくキーのないテーブルをリンクするときは当然、 一意な項目を選べるのですが、キーがすでにある場合はだめな ようでした。 毎度のことでお手数なのですが、どうかよろしくお願い申し上げます。

  • Visual Studio2005の削除方法

    vistaHP SP1を使用しています。 VS2005を削除し2008を導入したいのですが、手順上削除しなければならないコンポーネントがみつかりませんでした。 今までVisualStudioを使用した事が無く、店で購入し設定して貰ったままなのでプログラムはあってもセットアップはしていない可能性もあるのですが(スタート→Visual Studioと検索をかけても出ませんでした) そこでお伺いしたいのですが >visualstudioがセットアップされているのか確認する方法。 >VS関連プログラム Microsoft SQL Server VSS Writer Microsoft Visual C++2005 ATL Update kb973923-x86 8.0.50727.4053 Microsoft.NET Framework3.5 Language Pack SP1-日本語 Microsoft.NET Framework3.5 SP1 Microsoft.NET Framework4 Client Profile Microsoft SQL Server 2005 Compact edition[ENU] Microsoft SQL Server Native Client MSXML4.0 SP2が5つ 上記で削除するもの、してはいけないものを教えて頂けないでしょうか。 セットアップされていなければ、プログラムフォルダからvisualstudio/SQLServer/SQL-ServerCompactEditionを削除し、上記の削除可プログラムを削除したいと思います。 毎回素人質問で申し訳ありませんが、なにとぞよろしくお願いします。 ここまで見て頂き有難うございます。

  • 削除のエラー

    「ファイル削除のエラー」 というのが出て削除できません。 削除しようとしているのは、お気に入りに入れたはずの URLです。 ですが、再度そのページを開こうとしたら、開けず、 プロパティを見たらインターネットのショートカットではなく、「URファイル」というのになっていました。 なので必要ないので削除しようとしたらエラーになり、 「ファイルを削除できません。指定されたファイル名は無効かまたは長すぎます。別の名前を指定してください。」 と出ます。 再起動。 最新の情報に更新する。 スキャンディスク。 以上試しましたが無理でした。 空のフォルダを作りその中に入れてフォルダごと削除しようと思いましたが、そのファイルは移動すらできません。 ファイルの名前の変更も出来ず、「ファイル名変更のエラー」 「ファイルの名前を変更できません。指定されたファイル名は無効かまたは長すぎます。別の名前を指定してください。」というのが出ます。 当方win98です。 削除の方法がわかる方教えていただけませんか? かなり初心者なので詳しくお願いしたいです。

  • データベースメールのプロファイルが削除できません。

    SQL Server 2005 Workgroup Edition で、データベースメールのプロファイルを削除しようとすると、エラーになってしまいます。 レポートは下記です。 ・------------------------------------------------------------・ - プロファイル 'プロファイル名' を削除します (エラー) メッセージ プロファイル 'DBmail' を削除できません。 ------------------------------ ADDITIONAL INFORMATION: MailProfile 'DBmail' の削除に失敗しました。 (Microsoft.SqlServer.Smo) ヘルプを表示するには http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.3042.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=削除+MailProfile&LinkId=20476 をクリック ------------------------------ Transact-SQL ステートメントまたはバッチの実行中に例外が発生しました。 (Microsoft.SqlServer.ConnectionInfo) ------------------------------ @force_delete はプロシージャ sysmail_delete_profile_sp のパラメータではありません。 (Microsoft SQL Server、エラー: 8145) ヘルプを表示するには http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.1406&EvtSrc=MSSQLServer&EvtID=8145&LinkId=20476 をクリック ・------------------------------------------------------------・ エラー番号から検索しても解決方法がわかりませんでした。 どなたかご教授お願いいたします。

  • ServicePackがエラーが出て削除できない

    Windows7 Staterを使用しています。 3,4か月ほど前から、WindowsUpdateで全てのアップデートが失敗するようになりました。 エラーコードを頼りに調べてみると、どうやら関係するレジストリが破損しているようです。 Microsoftのヘルプを頼りに、「システム更新準備ツール」を使用してみたのですが、改善できませんでした。 次に使用できる手法が、Windowsインストールディスクを使用して、OSファイルのみの書き換えでした。 ですが、この方法はWindows7SP1の状態ではできないようなので、SP1の削除が必要のようです。 そこで、SP1の削除を実行してみたのですが、最後のところでエラーが発生してしまい削除できません。 正直、いくら調べても改善する方法がありません。 データーの関係でリカバリーは行いたくないのですが、やはりもうリカバリーしか残っていないのでしょうか…? お力添えをお願いします。 何か不足している情報があれば、聞いていただければと思います。

  • SQLServer2005での登録・更新処理について

    お世話になっております。現在、VisualC++(6.0)とSQLServer2005(9.0.1399)を利用して24時間365日常駐するバッチアプリケーションを開発したのですが、極稀に(年に2,3回程)更新処理と登録処理が正常に行かずデータが抜け落ちることがあります。 バッチアプリケーションは機械から送られてくるログファイルを取り込みデータベースに登録・更新を行うプログラムとなっております。 このような現象を防ぐ方法は無いでしょうか? ※ちなみにプログラムではきちんとコミットしているようでした。

このQ&Aのポイント
  • The validity of neoclassical mathematics is more damaging than its shortcomings.
  • If neoclassical mathematics is indeed irrelevant to the economic world, the history of the relations between economics and policy would turn into the history of nothing at all.
  • The impact of neoclassical mathematics on economics is profound, with its validity causing more harm than its shortcomings, and potentially rendering the history of economics and policy meaningless.
回答を見る