[pgsql-jp: 42035] Re: ODBC>Excelの更新が遅延

牛島義幸 y_usijima @ taiyudenki.co.jp
2019年 11月 6日 (水) 07:31:45 UTC


こんにちは。牛島です。

高塚さん、ありがとうございました。
ページ作成者の型に回答を頂けるとは恐縮です。

 > 移行元が古いのは、そうであるからこそ移行するわけでしょうけれども、
 > 移行先の PostgreSQL も古いですね。9.0.x は 2015年に最終リリース
 > をむかえています。

VineLinuxのrpmが9.0.xで止まっていることも最大の要因ですが、
先日、windowsxpのodbcを最新版の12に上げると通信ができなくなり、
9.5.21に戻したのですが、データコピーの処理でODBCの呼び出しが
失敗するようになりWindowsXpを再インストールしています。
(ERROR:入力の最後で構文エラー Error while executing the query(#7)が
出てしまい、テーブルの再リンクやクエリを見直したりしましたが、
エラーが止まらずどうにもなりませんでしたから)

PostgreSQLのバージョンは上がっていることは知っていましたが、
rpmの便利さとVineの環境設定がどうなっているのか解らない為、
そのままになっていました。
ただ、今更新するとWindowsxpが通信できない可能性もあるように思います。
(検証外となっているOSの為、仕方がない事と考えています)

バージョンアップは移行が終わって安定次第、検討しようと思います。
(Vineのカスタム環境(日本語対応など)が好みなので変えたくない
というところもあるのですが)

 >> 「時折前晩には無かった値が翌朝出てきて集計情報が変わる」問題は、
 >> 設定やソフトウェアバージョンを原因と疑って調査する前に、データの
 >> 流れ(例えば以下のようなこと)を精査いただくのが良さそうに思えます。
 >
 >   - 前晩の値というのは、いつ、どのデータを見たもの?
 >   - 集計処理を行うデータはいつ時点取得した内容?

データ締め切り時間があり17時現在で最終更新をかけた結果となります。
PostgreSQLのデータをExcelのピボットテーブルで更新した結果を
最終データとしています。

 >   - PostgreSQLデータベースの内容はいつ何によって書き換えられる?

17時の締め切りの時にMS-accessを使ってOracleからPostgresqlに向かって
更新クエリ、もしくは追加クエリにて更新しています。

ここの更新がODBCの為、遅いので更新直後のデータ取りこぼしが
発生しているのではないかと疑っています。
理由はデータ更新のタイムスタンプを確認した時に、他のデータと
同じ時間なのに、一部分だけが反映せず、翌日以降のピボット
テーブル更新でデータが増えるという状況だからです。
(毎日バックアップを午前0時に取っているので過去の情報も確認できます)

----
高塚さんの質問内容を見ていると、MS-accessのデータ更新のSQLも
見直した方が良いように思えてきました。
WindowsXpを修復後、そちらも取り掛かります。
また、状況を報告いたします。

ありがとうございました。


On 2019/11/05 10:20, TAKATSUKA Haruka wrote:
 > こんにちは、JPUG/SRAOSS の高塚と申します。
 >
 > SRA OSS の psqlodbcページの作成にも携わりました。
 > 参照いただきありがとうございます。
 > https://www.sraoss.co.jp/technology/postgresql/3rdparty/psqlODBC.php
 >
 >
 > 移行元が古いのは、そうであるからこそ移行するわけでしょうけれども、
 > 移行先の PostgreSQL も古いですね。9.0.x は 2015年に最終リリース
 > をむかえています。
 >
 >     https://www.postgresql.org/support/versioning/
 >
 >
 >> 「時折前晩には無かった値が翌朝出てきて集計情報が変わる」問題は、
 >> 設定やソフトウェアバージョンを原因と疑って調査する前に、データの
 >> 流れ(例えば以下のようなこと)を精査いただくのが良さそうに思えます。
 >
 >   - 前晩の値というのは、いつ、どのデータを見たもの?
 >   - 集計処理を行うデータはいつ時点取得した内容?
 >   - PostgreSQLデータベースの内容はいつ何によって書き換えられる?
 >
 > システム改定で前版時点のデータを取得していた個所が、最新データを
 > 参照するように変わっていた、などということはないでしょうか?
 >
 >
 > On Fri, 1 Nov 2019 20:45:39 +0900
 > 牛島義幸 <y_usijima @ taiyudenki.co.jp> wrote:
 >
 >> こんにちは 牛島と言います。
 >>
 >> 今、VineLinux6をベースにPostgersql9.0.12でシステムを組んでいます。
 >> 現在、Oracle8からのシステム移行で製作を進めています。
 >>
 >> 企業内データを扱うので外部への発信はしません。社内向けのなので
 >> セキュリティは特に設定はしていないという状態です。(Linuxは別ですが)
 >>
 >> データベースをPostgresに順次移行し半分稼働するところまで来ています。
 >> データは主にWebページより入力し、分析集計をExcelで行うというやり方です。
 >> 簡易的なものはWebページで表示しますが、複雑な計算などが入ってくると
 >> Excelの方が都合がよい為、このように運営しています。
 >> データも、Oracleより終業時にMs-Accessにてコピーをし情報を最新化しています。
 >>
 >> Excelを使うので、Postgresの接続はODBCになります。Excelのピボットテーブルに
 >> データを更新して使っていくのですが、時折前晩には無かった値が翌朝出てきて
 >> 集計情報が変わる事があります。
 >>
 >> まだ全てを移行していないのでExcelXpで集計しています。
 >> なので、ODBCもpsqlodbc_09_05_0210-x86を使っています。
 >>
 >> 毎日午前0時にバックアップデータを日ごとに取るのでデータが前日には
 >> あることは明白なのですが、前日更新には表示されずに、後日表示されています。
 >>
 >> どうしてこうなるのか、原因の突き止め方もわからず困っています。
 >>
 >> ODBCのパラメータが原因かと思いましたが、SRAさんの技術情報ページにある
 >> 「psqlODBC (PostgreSQLむけODBCドライバ)」を参照しても、ほぼ同一でした。
 >> 違うところは「設定2」の「接続時」「設定」にSJISを有効にするコマンドを
 >> 入れているところです。
 >>
 >> ODBCのバージョンをpsqlodbc_12_00_0000-x86に上げましたが、Windowsがついて来ず
 >> 9.5.0210に戻しています。
 >>
 >> 最終的にはExcel2013〜2019に移行しますが、それまではExcelXpを使いますので
 >> どうしても解決しなくてはなりません。
 >>
 >> 独学の為、我流となり基礎知識は乏しいですが、どうか確認方法・解決方法を
 >> ご存じの方は、教えて下さい。 よろしくお願いいたします。
 >
 >
 > ______________________________________________________________________
 >   日本PostgreSQLユーザ会  高塚 遥
 >   〒171-0022 東京都豊島区南池袋2-32-8 SRA OSS 日本支社 内 JPUG
 >   Mail: harukat @ postgresql.jp  TEL: 03-5979-2729
 >
 >



pgsql-jp メーリングリストの案内