- - PR -
DBの更新日時が正しく取得できない
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-04-15 14:28
DBのデータを参照・更新するアプリを開発しています。
[開発環境] OS:WindowsXP Pro SP2 IDE:Visual Studio 2005 SP1 DB:PostgreSQL 8.2 ネイティブコードで書かれたC++のdllをC++/CLIでラッパー処理して、 C#で書いたGUIで読み込んで使用しています。 C#のアプリでDBのデータを参照すると、integer型、text型のコラムは正確に参照できるのですが、timestamp型の更新日時を記述したコラムだけが取得した日(例:2008/04/15 00:00:00)になってしまい、DBのデータを参照することができません。 DB管理アプリ(pgadmin)で確認すると、更新日時が正確に保存されています。 この現象は開発環境ではなく、別のPCからネットワーク経由で参照した場合に起こっています(DBがインストールしてあるPCでlocalhost参照した場合は起こりません)。 またC#のアプリからDBのコラムを更新すると、きちんと内容は更新されています。 以前はこのようなことが起こらなかったので、VS2005か.NET Frameworkのアップデートが原因ではないかと思います。クライアント側のPCに、具体的にどのファイルをインストールすれば良いかわかりません。 ネットワーク経由でアクセスするPCには.NET Framework2.0、C++ 2005 Redistributableをインストール済みです。 どなたかこの解決策をご存知ないでしょうか? よろしくお願いいたします。 | ||||
|
投稿日時: 2008-04-15 14:37
追記です。
使用しているdllはDBにアクセスして、DBのデータを参照・更新するためのものです。 [ メッセージ編集済み 編集者: 牙鳥 編集日時 2008-04-15 14:37 ] | ||||
|
投稿日時: 2008-04-15 15:25
timestamp型データからの取得SQLを以下のようにしたら如何ですか? to_char(timpstamp型データカラム,'YYYY/MM/DD HI24:MI:SS') | ||||
|
投稿日時: 2008-04-15 15:53
ご回答ありがとうございます。
DBへアクセスするネイティブdllは提供されたものなので、SQL文を変更することはできないんです。 dll内部では更新日時コラムはSYSTIME型となっており、ラッパー処理部はSYSTEMTIME→DateTime型へ変換(各年・月・日・時刻を変換処理)しています。 dllは何度か修正してもらっているのですが、更新日時の取得部は全く変更してないそうです。また全く同じアプリを使用しているにもかかわらず、開発環境では問題ないのにクライアント側PCで発生しているため、VSのアップデートによって設定が変わった・・・もしくは何か追加インストールする必要があるのでは?と思っているのですが。。 |
1