0

背景:Sync Services for ADO.NETを使用して、アプリケーションのサーバー/クライアント同期シナリオを作成しようとしています。具体的には、すべてを設定するLocalCacheカスタムツールです。私のサーバーDBには5つのテーブルがあり、それらはすべてクライアントアプリケーションに同期されています。クライアントアプリケーションには、サーバーDBと同じスキーマを持つSQL ServerCompactDBがあります。アプリをローカルデータベースに接続するために使用するカスタムクエリを含むデータセットがあります。ここまでは順調ですね。ただし、私のアプリケーションでは、フォームのテーブルアダプタを使用してテーブルの1つに入力しようとすると(デフォルトの「fill」メソッド)、次の例外が発生します。

DbTypeオブジェクトから既知のSqlDbTypeへのマッピングは存在しません。

ただし、続行してもう一度塗りつぶすと、問題なく動作します。

    Try
        Me.WTSUsersTableAdapter.Fill(Me.WTSMainDataSet.WTSUsers)
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try

上記のコードを次々と2回実行すると、最初のコードは失敗し、2番目のコードは機能します。

もう1つの注意点は、これはこのデータテーブルでのみ発生し、DB内の他の4つのテーブルはすべて期待どおりに機能することです。

誰かがこれの原因が何であるかについての考えを持っていますか?

どうもありがとう

編集:データセットを削除して再作成しましたが、成功しませんでした。誰かが私のためのアイデアを持っていますか?

4

1 に答える 1

1

私は自分の質問に対する答えを見つけました。テーブルアダプタに対して入力したカスタムの「UPDATE」クエリに問題がありました。何らかの理由で、これによりテーブルアダプタが単純な「塗りつぶし」を実行できなくなりましたが、最初の試行でのみ実行されました。2回目の試行での更新エラーを気にしないようでした...

図に移動します。

問題を見つけるために私がしたことは、アダプターから各カスタムクエリを削除し、一度に1つずつ追加して、エラーの原因を確認することでした。

于 2011-06-26T09:34:54.770 に答える