2011-02-08 4 views
0

同期の新しい受信アンカーをサーバーサイドデータベースに格納しようとしています。目的は、クライアントからのデータを受け取ったタイムスタンプを保存することです。これを実現するために、我々は次のコマンドを使用している:SyncSession.SyncNewReceivedAnchorの取得

SqlCommand selectNewAnchorCommand = new SqlCommand(); 
    string newAnchorVariable = "@" + SyncSession.SyncNewReceivedAnchor; 
    selectNewAnchorCommand.CommandText = "SELECT " + newAnchorVariable + " = GETUTCDATE()"; 
    selectNewAnchorCommand.Parameters.Add(newAnchorVariable, SqlDbType.DateTime); 
    selectNewAnchorCommand.Parameters[newAnchorVariable].Direction = ParameterDirection.Output; 
    selectNewAnchorCommand.Connection = serverConnection; 
    this.serverProvider.SelectNewAnchorCommand = selectNewAnchorCommand; 

と私たちは、私は次のようにそれを使用しています番目のアンカー受け取ったら:

sqlCmdTransactionMaster.Parameters.Add(「@」+ SyncSession.SyncNewReceivedAnchorを、 SqlDbType.DateTime); 出力は、「現在の日付」でなければなりませんが、私は次の日付

を取得しています「1753年1月1日12:00:00.000は」

この日付は、SQL Serverで使用可能なデフォルトの日付です。

環境:(偽トラッキング付き)のVisual Studio 2008、Sync Frameworkの2.1 & SQL Server 2008の

この全体の運動の目的は、レコードがサーバーに挿入されたときに、テーブルにサーバーの日付を取得することです。それを達成する他の方法はありますか?

私はこの中で間違ったつもりだところ私に教えてください:アドバンス Biju Melayil

+0

おそらくトリガーを使用してください。それは、あなたが試みていることを行うための非常に長い道のりのようです。 – leppie

+0

ありがとうLeppie。トリガーを追加しました。しかし、新しいアンカーを手に入れる正しい方法は何ですか? Microsoft Siteで入手可能なサンプルはTimeStampを表示しますが、これはまったく機能しません。 –

答えて

0

おかげで私は(あなたが正常に有効に変更トラッキングでこれを行うと、変更の追跡機能CHANGE_TRACKING_CURRENT_VERSIONを使用してと思います) - http://msdn.microsoft.com/en-us/library/bb933945.aspx

この例では、多くのことを説明する:http://msdn.microsoft.com/en-us/library/cc305322.aspx

しかし、おそらく変更の追跡を有効にすると、OPTIではありませんあなたのために?