HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 ファイル一覧 検索 過去ログ

ログ内検索
・キーワードを複数指定する場合は 半角スペース で区切ってください。
・検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
・[返信]をクリックすると返信ページへ移動します。 (*過去ログは表示されません)
・過去ログから探す場合は検索範囲から過去ログを選択。

キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 | 1 | 2 | 3 | 4 >>
■145  Re[5]: イベントでシェル実行後にファイル変換したい。
□投稿者/ hidetake -(2005/08/31(Wed) 18:47:59)
    2005/08/31(Wed) 18:50:46 編集(投稿者)

    > > 外部データ接続も検討しましたが、システムに影響を及ぼす恐れありで今のところ見送っています。
    > 如何なものでしょう?

    これは間違って、大元のシステムのデータを更新(変更)してしまう場合などの
    事を考慮されているのですかね!?

    桐の場合、「外部DB」も参照だけだったら何とかなると思いますが、大元の
    データに絶対に影響を無くすには、いろいろな手段やレベルがあると思います。
    第1には、桐側で「実表の更新」は行わないように設定して接続する。だと、
    思います。

    次に安全性を望むならば、ODBC の設定で「読み取り専用」にチェックをいれ
    ODBC 接続レベルでデータの更新ができないようにしてしまう。

    さらに安全性を望むならば、直接、大元で使っている MDB に ODBC 接続する
    のでは無く、「外部DB」接続用の専用の MDB を作成し、それ自身に接続して
    くる ODBC では読み取り専用になるように工夫し、データの更新が行えない
    ようにするのも1つだと思います。(必要なテーブル以外はリンクもしない)
    取り出したいテーブルだけを大元から「テーブルのリンク」で接続し、その
    テーブルは「セキュリティ」の「ユーザ/グループの権限」で、「データの
    読み取り」だけにチェックを入れ、読み取り専用にしてしまう。そして、その
    テーブルを「桐」の「外部DB」からも使用できるように、クエリを作成します
    が、そのクエリのプロパティではレコードセットを「ダイナセット」では無く
    「スナップショット」に設定しデータは参照のみだけ行えるようにしてしまう。

    以上の設定を組み合わせれば JETエンジンが何らかのトラブルを起こさない
    限り元データに影響は無いのでは無いでしょうか?

    そうなると、CSV 経由の面倒な手段や工夫も省けるような気もします。
記事No.127 のレス /過去ログ1より / 関連記事表示
削除チェック/

■162  Re[1]: イベントでシェル実行後にファイル変換したい。
□投稿者/ hidetake -(2005/09/03(Sat) 17:55:28)
    一応、外部DB を使わない(使えない)場合の事として・・・
    
    
    > ACCESSファイルを起動させると自動でCSVファイルを書き出してくれるファイルがあります。
    
    Windows 2000 以降の 2000 や XP であれば、Access など無くとも、次のような VBScript で
    MDB から CSV ファイルを作り出す事が可能です。
    
    mdb2csv.vbs X:\DATA\DOC\ACCESS\db.mdb "SELECT * FROM test WHERE data Like '* *'" "x:\data.csv"
    
    第4番目の引数があったら項目名も書き出す。
    ------------------------------------------------------------
    Dim arg
    Set arg = Wscript.Arguments
    If Arg.Count < 3 Then
        Wscript.Quit
    End If
    
    Dim obj,wks,dbs,rs,fs,txt
    mdb=arg(0)
    sql=arg(1)
    csv=arg(2)
    
    Set obj = Wscript.CreateObject("DAO.Dbengine.36") 
    Set wks = obj.Workspaces(0)
    Set dbs = wks.OpenDatabase(mdb)
    SQLQuery = sql
    Set rs = dbs.OpenRecordset(SQLQuery, 2)
    
    Set fs = Wscript.CreateObject("Scripting.FileSystemObject")
    Set txt = fs.OpenTextFile(csv, 2, True)
    
    If Not rs.EOF Then
        If Arg.Count > 3 Then
            data = ""
            fld = ""
            For j=0 To rs.Fields.Count -1
                fld = rs(j).Name
                If j = 0 Then
                    data = """" & fld & """"
                Else
                    data = data & "," & """" & fld & """"
                End If
            Next
           'Wscript.Echo data
            txt.WriteLine data
        End If
        Do While Not rs.EOF
            data = ""
            fld = ""
            For j=0 To rs.Fields.Count -1
                fld = rs(j)
                If Not IsNull(fld) Then
                    fld = Replace(rs(j), chr(13) & chr(10), chr(10))
                End If
                If j = 0 Then
                    data = """" & fld & """"
                Else
                    data = data & "," & """" & fld & """"
                End If
            Next
           'Wscript.Echo data
            txt.WriteLine data
            rs.MoveNext
        Loop
    End If
    
    txt.Close
    rs.Close
    dbs.Close
    ------------------------------------------------------------
    
    
    
    > シェル実行 "○○.mdb",最小化
    
    桐の場合、「シェル実行」では基本的に非同期でしか外部プログラムを実行できませんが
    「システム」コマンドでは同期での実行になるので、相手の処理が終わるまで待つ事に
    なります。ただし、一括処理だけでイベントでは使えません。
    イベントだと、正規な方法だと「シェル実行」となり、相手が終わるのを待つには
    時間を見計らう方法しか基本的にはありません。時間を見計らうには、無駄なループで
    時間つぶしするか、タイマーイベントを使う方法があります。
    
    
    さて、1時間に一回の処理だとすると、桐を常時立ち上げておくより、タスクスケジューラ
    で1時間ごとにプログラム(スクリプト)を実行して、それで CSV の取り出しや他の処理を
    行った方が良いように思います。桐側での CSV の処理もファイル変換を使うより、
    定型のファイルでしょうから、読み込みが良いように思います。他の人も使うならば
    共有で開いて、全部削除してから CSV を読み込む。
    
    VBScript だと
    CreateObject("WScript.Shell").Run "コマンドライン", 1, True
    のように Run メソッドの3つめの引数を True にすれば、プログラムが終わるまで
    待機し次の行の処理になりますし、False にすれば、すぐに次の行にいきます。
    
    CreateObject("WScript.Shell").Run "x:\data\hoge.mdb", 1, True
    CreateObject("WScript.Shell").Run """C:\Program Files\KIRIv9\System\KIRI9.EXE"" /r ""X:\DATA\HOGE.CMD""", 1, False
    
mdb2csv.txt/1KB
mdb2csv.txt
/1KB
記事No.127 のレス /過去ログ1より / 関連記事表示
削除チェック/

■277  Re[1]: ACCESSのメモ型フィールドデータのコンバート
□投稿者/ hidetake -(2005/09/21(Wed) 10:39:20)
    > [備考]というメモ型フィールドのデータがあります
    > 当然、1項目内で改行してあります
    > > ODBCでその項目を読むと、当然スペースで繋がって
    > ダラダラと長〜い項目値になっています
    
    よく意味がわからないのですが、問題にされているのはスペースなのでしょうか?
    項目内改行なのでしょうか?
    
    元々のデータにスペースが意味不明に含まれており、それを Ctrl + Enter で
    入力した改行も含まれているのでしょうか?
    
    スペースは本当に必要かどうかはわからないけれど無くそうと思えば、置換を
    行えばよいでしょうし、項目内改行は「外部DB」(.XVW) に「強制改行文字」を
    設定してやれば、Access の項目内改行は桐の指定した任意の文字に変換されて
    桐に取り込まれると思いますが? 桐に「強制改行文字」を設定していなければ
    Access の項目内改行は半角スペースに変換されて桐に取り込まれるようです。
    
    全然違う事なのかな?
記事No.249 のレス /過去ログ2より / 関連記事表示
削除チェック/

■279  Re[2]: ACCESSのメモ型フィールドデータのコンバート
□投稿者/ 尾形 -(2005/09/21(Wed) 12:23:40)
    どうもありがとうございます
    
    >項目内改行は「外部DB」(.XVW) に「強制改行文字」を
    >設定してやれば、
    これでやりたい事は解決できそうです
    本当にありがとうございました
    
    今村さん、hidetakeさん、よく伝わらない文章で失礼しました
    
記事No.249 のレス /過去ログ2より / 関連記事表示
削除チェック/

■296  外部DBの絞り込みについて教えてください
□投稿者/ 長門孝雄 -(2005/09/24(Sat) 10:33:51)
    WIN2000 桐 ver9-2005(2004sp2)を使用しています。
    一括処理から外部DBの絞り込み条件1や絞り込み条件2に#BETWEEN(1,5)などを
    変数を使用して絞り込みが可能でしょうか。
    コマンド コマンドのようなことができるのでしょうか。
    現在外部DBの結合表を絞込みの際、例えば年月日、店no、便、品no等数箇所で
    絞り込み表示する際ひとつひとつ定義を作っていますが、煩雑でわかりずらいので
    ひとつの表定義でなんとかできないものかと思った次第です。
    なにとぞよろしくお願いいたします。
                             長門孝雄
    
親記事 /過去ログ3より / 関連記事表示
削除チェック/

■321  Re[1]: 外部DBの絞り込みについて教えてください
□投稿者/ たゆー -(2005/09/25(Sun) 14:12:03)
    >一括処理から外部DBの絞り込み条件1や絞り込み条件2に#BETWEEN(1,5)などを
    >変数を使用して絞り込みが可能でしょうか。
    
    一括処理から外部DB・・・は、行ったことはないのではずしてるかも
    知れませんが
    
    結合表では、「絞り込み条件」に「変数」や「比較式」がそのまま記載できます
    
    一括処理で
    &no1=1
    &no2=5
    としたあと、絞り込み条件にそのまま「#BETWEEN(&no1,&no2)」等でお試し下さい
    うまく行けばもうけ物程度に
    
記事No.296 のレス /過去ログ3より / 関連記事表示
削除チェック/

■327  Re[2]: 外部DBの絞り込みについて教えてください
□投稿者/ 長門孝雄 -(2005/09/25(Sun) 21:38:52)
    No321に返信(たゆーさんの記事)
    > 一括処理で
    > &no1=1
    > &no2=5
    > としたあと、絞り込み条件にそのまま「#BETWEEN(&no1,&no2)」等でお試し下さい
    > うまく行けばもうけ物程度に
    >
    ご返事ありがとうございます。
    上記の方法は外部DBでも問題なく 現在も使っています。
    私が知りたかったのは「#BETWEEN(&no1,&no2)」そのものを変数にできないかと思った
    次第です。説明が下手で申し訳ありませんでした。
    ようするに表作成コマンドのようなものが外部DBでできたらいいのですが。
                               長門孝雄
記事No.296 のレス /過去ログ3より / 関連記事表示
削除チェック/

■338  Re[3]: 外部DBの絞り込みについて教えてください
□投稿者/ うにん -(2005/09/26(Mon) 13:19:07)
    
    > 私が知りたかったのは「#BETWEEN(&no1,&no2)」そのものを変数にできないかと思った
    
    #DSQL(&比較式)
    と書いておけば、&比較式にWHEREの内容を代入することができます。
    桐の関数は使えず「項目名や定数などの記述は、接続先 DBMS のルールに準じます。」なので
    ちょっと面倒です。
    
    ACCESSの例が
    (`売上日` Between #2/21/02# And #2/25/02#)
    となっていますが、Filemaker7では
    table."field" between {ts '2005-09-01 00:00:00'} and {ts '2005-09-10 00:00:00'}
    といった感じでした。
    
記事No.296 のレス /過去ログ3より / 関連記事表示
削除チェック/

■344  Re[4]: 外部DBの絞り込みについて教えてください
□投稿者/ 長門孝雄 -(2005/09/26(Mon) 23:20:43)
    うにんさんありがとうございました。
    #DSQL(&比較式)があったのですね。これだと絞り込み条件を設定していない
    外部DB定義に一括処理で絞り込みできそうですね。
    #DSQL(&比較式)を勉強してみます。
    売上データでいろいろな条件で絞り込みする際に、各項目に設定した変数値が
    未定義だと選択されないので困っていました。
    特に日時型の項目が未定義だとエラー表示になるため、15個くらいの外部DB定義を
    作っていました。
    本当にありがとうございました。
    
記事No.296 のレス /過去ログ3より / 関連記事表示
削除チェック/

■360  外部DBの定義についてお願いいたします
□投稿者/ 長門孝雄 -(2005/09/29(Thu) 12:50:00)
    WIN2000 桐 ver9-2005(桐9-2004 sp2) oracle8i接続
    
    以上の環境でorcleの表 uriage(主キー seq) hin_name(主キー hin_no)
    作成した外部DB表 月間売上.xvwはuriageのhin_noとhin_nameの主キーで
    接続しています。
    
    ところで月間売上のデータを一部削除したときに、hin_noに該当する
    hin_nameのデータが削除されてしまいました。
    これを回避するには、どのような定義をすればよろしいのでしょうか。
    よろしくお願いいたします。
    
親記事 /過去ログ3より / 関連記事表示
削除チェック/

■370  Re[1]: 外部DBの定義についてお願いいたします
□投稿者/ うにん -(2005/09/29(Thu) 23:31:34)
    > WIN2000 桐 ver9-2005(桐9-2004 sp2) oracle8i接続
    > > 以上の環境でorcleの表 uriage(主キー seq) hin_name(主キー hin_no)
    > 作成した外部DB表 月間売上.xvwはuriageのhin_noとhin_nameの主キーで
    > 接続しています。
    > > ところで月間売上のデータを一部削除したときに、hin_noに該当する
    > hin_nameのデータが削除されてしまいました。
    
    HELP見ると結合表にはそんなような事が書いてありますが、外部DBでは主キーも外部キーも
    桐が管理しないので何も書いてありませんねえ。
    しいて言えば、「結合レコードの削除」の挙動が変なので、変な事をしてるのかも。
    oracleの方にそういう設定をしてませんか?
    
記事No.360 のレス /過去ログ3より / 関連記事表示
削除チェック/

■375  Re[2]: 外部DBの定義についてお願いいたします
□投稿者/ 長門孝雄 -(2005/09/30(Fri) 12:06:19)
    No370に返信(うにんさんの記事)
    
    > しいて言えば、「結合レコードの削除」の挙動が変なので、変な事をしてるのかも。
    > oracleの方にそういう設定をしてませんか?
    > 
    うにんさんたびたびお世話になります。
    ORACLEのテーブルは自分で定義したので、べつに変わった設定はしていないはずですが、
    単に品名を表示するために2テーブルを接続したのですが、外部DBでは表引き関数が
    使えないので困っています。
    この問題が解決しないとあぶなくて2テーブルは接続できないので、とりあえずはhin_name
    を桐の品名.tblに書き出してuriageだけに接続してフォームの計算式で品名を表引きしようと
    思います。
    K3にも問い合わせようとしたのですが、電話がなかなかつながりません。
    ありがとうございました。
    
    
記事No.360 のレス /過去ログ3より / 関連記事表示
削除チェック/

■376  Re[2]: 外部DBの定義についてお願いいたします
□投稿者/ 長門孝雄 -(2005/09/30(Fri) 12:46:48)
    No370に返信(うにんさんの記事)
    その後、月間売上.XVWからhin_name.品名(文字型項目)をのぞいてhin_noだけを
    つないで削除みたら主キーが削除されていませんでした。
    原因はいぜんとしてわかりません。以上ご報告まで。
記事No.360 のレス /過去ログ3より / 関連記事表示
削除チェック/

■2625  外部DBについて
□投稿者/ miya -(2007/06/11(Mon) 10:16:03)
    はじめまして、いつも参考にさせて頂いています。
    桐9を使っています。

    外部サーバーのPostgreSQLへODBC接続していますが、この度サーバーが変わり
    PostgreSQLのバージョンが変わりました。

    PostgreSQL7.1.3 → RH-PostgreSQL7.3.15

    になります。

    7.3.15へ繋げようとすると桐が強制終了してしまいます。
    Access2003で試したところ、旧、新サーバーとも問題なく繋がっています。
    Accessで繋がりますからサーバー側は問題ないかとおもいます。

    似たような現象の方おりませんでしょうか。
    解決方法があればご教授ください。
親記事 /過去ログ18より / 関連記事表示
削除チェック/

■2626  Re[1]: 外部DBについて
□投稿者/ hidetake -(2007/06/11(Mon) 13:23:40)
    下記のような異常が発生し ODBC ドライバの作者に連絡を取ったことが
    あります。

    > ダウンロードしたのは 7.3.2.70 でしたが、私は主に「桐v9-2006」と
    > 言うソフトで使っているのですが、この psqlodbc35w.dll を使うと
    > 桐が落ちてしまうようになってしまいました。

    桐は Access よりも ODBC ドライバによりいろいろと発生するようです。
    この時は ODBC を 修正版(7.3.0271) にアップして異常が回避されま
    した。なお、この時は Access でも特定のテーブルを開こうとすると
    異常が発生しましたがね。

    それからも PostgreSQL の場合はいろいろあるようですので、下記など
    をみて問題の出ないものを使ったりする必要があるようです。

    ODBCドライバ・ダウンロードページ
    http://www.geocities.jp/inocchichichi/psqlodbc/indexj.html

    いのっち父の雑談部屋
    http://mbspro5.uic.to/user/inottiti.html


    新しいドライバでダメな時は古いものに変えてみたりする必要もあります。

    # だから私のパソコンの system32 フォルダには、いろんなバージョンの
    # ドライバがいっぱい。いつでも元に戻したり変更して試せるように・・・ (^^;
記事No.2625 のレス /過去ログ18より / 関連記事表示
削除チェック/

■2627  Re[2]: 外部DBについて
□投稿者/ miya -(2007/06/11(Mon) 14:10:47)
    2007/06/11(Mon) 14:22:01 編集(投稿者)

    早速のお返事ありがとうございます。
    おっしゃるようにODBCのドライバを変更したら
    新サーバーへ繋ぐことができました。
    データの追加、削除も問題ありません。

    しかし今度は旧サーバーへ繋ぐと文字化けが発生しました。
    色々ドライバを変更して試してみます。

    助かりました、ありがとうございました。
記事No.2625 のレス / END /過去ログ18より / 関連記事表示
削除チェック/

■2628  Re[3]: 外部DBについて
□投稿者/ hidetake -(2007/06/11(Mon) 18:04:08)
    > しかし今度は旧サーバーへ繋ぐと文字化けが発生しました。
    > 色々ドライバを変更して試してみます。

    ドライバも ANSI版を使うのか UNICODE版を使うのか?とか、
    あるいは、サーバ側の設定も initdb 時の --encoding の
    文字コード設定や、 7.3 だったら --no-locale オプション
    もつけないと日本語のソートなどで問題があるとか、バー
    ジョンや設定でいろいろありますよ。
記事No.2625 のレス /過去ログ18より / 関連記事表示
削除チェック/

■2632  Re[4]: 外部DBについて
□投稿者/ hidetake -(2007/06/12(Tue) 08:05:14)
    2007/06/12(Tue) 08:49:04 編集(投稿者)

    > しかし今度は旧サーバーへ繋ぐと文字化けが発生しました。

    そう言えば、

    インターウィズ PostgreSQL ODBC Driver 日本語版
    http://www.interwiz.koganei.tokyo.jp/software/PsqlODBC/

    の ODBC ドライバを使用しているときは問題は無かったものの
    それ以降のドライバに変更すると、項目名に日本語を使って
    いると文字化けして使えないことがありました。

    サーバ側のデータベース作成時、initdb とか creatdb で
    明示的に文字コードを指定していない場合で、
    --encoding 無指定のデフォルトの ASCII であって、明示的に
    EUC-JP とか指定してないからでした。でも、インターウィズ
    版はそれでも日本語は通っていたのでした。
    だから、新しいドライバを使う場合にはサーバ側でデータの
    バックアップを取り initdb し直してからデータを戻し使える
    ようにしたことがあります。

    あと、ANSI版とUnicode版の ODBC ドライバの違いでは、項目
    名に「avなどが含まれていると、それがうまく通らなかったり
    通ったりの違いもあったと思います。

    項目名に「avなどが含まれていると、ANSI版の方は通るけど
    Unicode版の方は通らず、抜け落ちるので、 の無い(b
    取ったら同名の)項目が存在すると、同じ項目があるとなり
    エラーになり接続できない!とかです。

    # もちろん項目名に日本語を使うなんて邪道ですけど、桐の
    # データを移して(書き出して)使う場合に、桐側に使っている
    # と・・・ (^^;

    # あとは、サーバ側で EUC-JP で使うか UTF-8 で使うかで、
    # ODBC ドライバのバージョンでも動きが違う場合もあった。
    # Access では問題ないのだけれど「桐」だと・・・ とか。
記事No.2625 のレス /過去ログ18より / 関連記事表示
削除チェック/

■2633  Re[5]: 外部DBについて
□投稿者/ うにん -(2007/06/12(Tue) 08:56:07)

    > # もちろん項目名に日本語を使うなんて邪道ですけど、

    やっぱり未だにそうなんですかね。。。
    内部処理では日本語でなくても困りませんが、ユーザに対して出てくるときに
    一々日本語対応表作るのがめんどくさいですが。。。
記事No.2625 のレス /過去ログ18より / 関連記事表示
削除チェック/

■2634  Re[6]: 外部DBについて
□投稿者/ hidetake -(2007/06/12(Tue) 09:14:38)
    2007/06/12(Tue) 09:41:21 編集(投稿者)

    >># もちろん項目名に日本語を使うなんて邪道ですけど、
    >
    > やっぱり未だにそうなんですかね。。。

    いえ、「avについは ANSI版で、問題の無いドライバを
    使えば使えます。ほかの通常の日本語だったら Unicode版
    でも項目名は通ったと思います。
    # でも、Unicode な文字をデータに含んでいたときの別の
    # 問題は出てきます。

    それに ODBCドライバがいろいろとある(あった)のです。 (^^;
    結構チェックしないと最新版が一番良いとは言えなかった
    のですが、最近はいのっち父さんがまた戻ってきてメンテ
    されるようになったようで問題があれば連絡すれば丁寧に
    対応されてくれます。


    それと
    今だとデータベース側を UTF-8 で使うのが全体的にはベター
    ですが、桐で(だけで)使うにはやはり EUC-JP の方が問題は
    無いのでしょうね。
    UTF-8 だと Access だと Unicode も通るわけで、使える
    文字も多くなるわけですが、桐だと桐で通せないので結局
    は無駄足踏むし、ほかのアプリケーションで入力された文字
    まで切られてしまいますし。

    桐だけで使うなら外部DBなんていらないわけだし、外部DBを
    使う以上ほかのアプリとの関係も出てくるわけで、そこでは
    自由な文字が入れられるとなると桐では扱えない文字が出て
    来るわけで悩ましいです。

    まぁ〜、桐の外部DBの根本的な問題は改善されていないので
    困った問題は残ったままで、それと文字問題で、いろいろと
    苦労は絶えませんかね!? (^^;
記事No.2625 のレス /過去ログ18より / 関連記事表示
削除チェック/

■2636  Re[7]: 外部DBについて
□投稿者/ hidetake -(2007/06/12(Tue) 10:22:25)
    あれ?

    いのっち父さんのところの最新版のドライバだが
    Unicode版 psqlodbc35w.dll 8.2.4.2 (6.4付)
    Access でタダ開いて閉じるというだけで
    Access が終了する段階で

    Faulting application msaccess.exe, version 11.0.6566.0, stamp 42cdb33e, faulting module psqlodbc35w.dll, version 8.2.4.2, stamp 46641ec8, debug? 0, fault address 0x0001643c.

    のようなエラーが発生するようになった。

    ANSI版 psqlodbc30a.dll の方は別に問題は無いが・・・

    今まで使っていた 2007.3.9付の 8.2.2.5 に戻す
    と何もエラーは出ない!
    (対象のデータベースは EUC_JP )

    う〜む
記事No.2625 のレス /過去ログ18より / 関連記事表示
削除チェック/

■2639  Re[7]: 外部DBについて
□投稿者/ うにん -(2007/06/15(Fri) 12:03:10)

    > まぁ〜、桐の外部DBの根本的な問題は改善されていないので
    > 困った問題は残ったままで、それと文字問題で、いろいろと
    > 苦労は絶えませんかね!? (^^;

    う〜〜ん。

    最近困ったのは、PostgreSQLのサーバをバージョンアップしたらMACアドレス型の
    データを桐の外部DBで取り出せなくなりました。

    'MAC' 項目のデータ長が制限を越えています
    制限(6)でデータを切り捨てて処理を続行しますか

    内部は6バイトなんでしょうけど、16進文字列で6文字しか取り出せない。(00:00:まで)
記事No.2625 のレス /過去ログ18より / 関連記事表示
削除チェック/

■3676  Re[1]: 日付を指定しての在庫検索(再度)
□投稿者/ うにん -(2008/05/16(Fri) 11:32:59)
    パスワード:[kiri] 



    > 仕入日付<=@在庫検索
    > 返品日付>=@在庫検索or""
    > 売上日付>@在庫検索or""
    >
    > 桐の場合は項目が未定義の場合に、上記のような売上日付と返品日付の絞り込みを
    > 行った場合

    「ような」ってどういう意味でしょう。ぜんぜん桐の比較式になってないと思うのですが。実際にどういう指定をしてます?

    結合表でパラメータ変数が「在庫検索」なら
    項目名  絞込み条件1 絞込み条件2 絞込み条件3 絞込み条件4
    仕入日付 <=&在庫検索 <=&在庫検索 <=&在庫検索 <=&在庫検索
    返品日付 >=&在庫検索 >=&在庫検索 #U      #U
    売上日付 >&在庫検索  #U      >&在庫検索  #U
    みたいな?
    ORの数だけ並べるのでめんどくさいですね。
    実際には返品して売り上げもあるってことはありえないので条件1は不要かな。

    未定義は伝統的に""でもいいはずなんですが#Uにしないとだめだった。日付だからなのか外部DBの種類によるのか?
記事No.3661 のレス /過去ログ24より / 関連記事表示
削除チェック/

■3909  Re[16]: やっとありました
□投稿者/ hidetake -(2008/10/06(Mon) 18:53:17)
    パスワード:[kiri] 


    尾形さんへ

    MySQL に関しても、やっとライセンス条項を見つけられ
    ましたが、ライセンス的にも費用は発生させずにアプリ
    ケーションを作成することは可能なようです。

    ただ、尾形さんのところは自社サーバではなく、社外の
    サーバに現在は FTP でデータをアップロードされている
    と思われますが、MySQL なり PostgreSQL なりにデータ
    を格納し Webアプリケーションを作成することは可能だ
    と思われますが、あと問題になるのは桐との連携になり
    ます。

    桐でこれらの SQLサーバと連携するには ODBC での接続
    になりますので、外部のサーバと ODBC 接続となると
    やっかいだと思います。社内だとその辺は自由ですけど
    サーバの保守とかセキュリティの問題やら出てくるので
    その辺の管理コストは増大します。

    でも、桐とこれらの外部DBを利用するのも結構おもしろ
    いですよ!
    ただ、桐の外部DBにはバグというか、変な仕様や動きの
    ところがあるので、その辺に引っかかるとやっかいなの
    ですが・・・

    # SQLサーバを使うには、現在 SQLインジェクション
    # 攻撃を行うサイトやロボットもあるようですので十分
    # にお気をつけあれ!? (^^)

記事No.3831 のレス /過去ログ25より / 関連記事表示
削除チェック/

■4058  Re[6]: 桐でのODBC接続について
□投稿者/ 長門孝雄 -(2008/11/25(Tue) 09:25:55)
    パスワード:[kiri] 


    No4057に返信(桐々舞さんの記事)
    > オラクルのインストールやODBCは、他に行ってくださいな。
    桐の外部DBでODBC接続する問題はここではだめでしょうか。
記事No.4025 のレス /過去ログ26より / 関連記事表示
削除チェック/

■4075  Re[5]: 桐でのODBC接続について
□投稿者/ hidetake -(2008/11/26(Wed) 10:32:20)
    パスワード:[kiri] 


    > 今日出社して予備機をリカバリーしORACLE 9iをインストールしたところ
    > 問題は解消しました。
    > しかし、どこがクライアント機とちがうのか私の能力ではどのように調べるのか
    > わかりません。レジストリあたりだとどのようにするのでしょうか。

    ODBC の設定はレジストリの次のところにあります。

    [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC]

    ここおよび下位の情報を見れば設定内容は把握でき
    ると思います。
    もちろん、ドライバのファイルなどは、確実に存在
    する必要がありますが、ここを見比べたりすれば
    ドライバや関連するファイルのバージョンとか一緒
    であれば基本的には同じ動作をするはずなのですが、
    ODBC 以外の設定が異なってれば(ファイヤーウォール
    とか)もちろん動作は変わってくるとも思います。

    自分の場合、PodtgreSQL の設定をいちいち GUI で
    し直すのは面倒なのでレジストリのバックアップを
    とっておき、最低限必要な箇所のみ残し編集して
    レジストリを読み込ませることにより、設定を移す
    ことがほとんどです。
    なお、レジストリの編集の際は間違えばシステムを
    壊すことにもなりかねないので十分に注意なり、
    バックアップを取ってから行ってください。


    > 桐のODBC接続は他にも困ったことがあります。この問題が解決すれば対処できると
    > おもうのですが。
    > それはORACLEの数値項目NUMBER(9.2)に桐から追加書き出しをしたとき、円未満が
    > 例えば桐の数値項目15.50のところが15.00になってしまうことです。
    > ORACLEから読み込めば正常に表示されます。K3に問い合わせたところ、ORACLEで値のない項目で絞込み、桐のデータを読み込むようにしたらよいときいたのですが、
    > 現状では実用的ではありません。

    桐の外部DBはいろいろあって問題部分も多いけど
    メジャーなデータベースに関しては、それなりに
    テストは行っているのだろうと思っていましたが
    ORACLE でもおかしいところはやはりあるのですね。
    この場合だと型を正しく扱えていないようですね。

    この辺は桐の問題なのか ODBC のドライバの問題
    なのか、いろいろあるのでしょうが、桐はバー
    ジョンがあがらない限り、この手の問題は解決され
    ないでしょうから、ドライバのバージョンを変えて
    チェックしてみるとか、それでもダメなら書き出し
    に問題があるのだとしたら、書き出し以外の方法で
    やるとか工夫して仕組みを変えないと解決できない
    のでは無いでしょうかね?

記事No.4025 のレス /過去ログ26より / 関連記事表示
削除チェック/

■4089  Re[9]: 桐でのODBC接続について
□投稿者/ hidetake -(2008/11/26(Wed) 13:18:07)
    パスワード:[kiri] 


    >>なお、全て大文字で解決かというとそうでもなく、
    > げんなり。
    > まあ、最初に表を作る時以外は書き出ししないようにしてるんですけど。

    たとえば、全て大文字で設定したテーブルを
    桐の「外部DB」で設定するとして、定義画面で
    表示項目に、うえ出ているテーブルの「(すべて)」
    をドラッグして定義してみてください。
    実際に開く場合にはどうなるか?

    全ての項目を表示させたい場合でも「(すべて)」
    では無く、実際の項目欄を全選択して表示項目に
    ドラッグして定義した場合と開き方を変えてみて
    ください。

    まぁ〜、この問題は「(すべて)」を使わないよう
    にすれば良いのは良いのですけど・・・

    ほかに何かあったかな? だいぶ前にいろいろ
    調べて kthree には報告して理解はしてもらった
    けど、いつになったら改善してもらえるのだろう
    か? orz


記事No.4025 のレス /過去ログ26より / 関連記事表示
削除チェック/

■4099  Re[9]: 桐でのODBC接続について
□投稿者/ hidetake -(2008/11/27(Thu) 07:40:24)
    パスワード:[kiri] 


    2008/11/27(Thu) 08:41:39 編集(投稿者)

    > サーバ PostgreSQL 7.2.2 に
    > ODBC ドライバ 8.02.04.02 で
    > 桐から書き出し(追加)を行う場合の
    > ログを取ってみました。

    > テーブルは
    > CREATE TABLE "NUM1" (
    > NUM numeric(9,2));

    ついでに、書き出し(追加)では無く、上記テーブルにキー
    を追加して、桐の外部DBからの接続からも更新が出来るように
    して 15.5 の行を追加してみました。

    query='INSERT INTO "NUM1" ( "num") VALUES ('15.5')'

    と、VALUES ('15.5') で INSERT しています。

    PostgreSQL では、これでもこちらの期待通りに値が設定され
    ますが、もし、Oracle で
    query='INSERT INTO "NUM1" ( "num") VALUES (15.5)'

    query='INSERT INTO "NUM1" ( "num") VALUES ('15.5')'
    で、直接でも良いので SQL を投げかけて、Oracle では
    どのような挙動を示すのか!?

    もし、下の方の結果が 15 となるのだったら、桐 + Oracle
    では、この型の使用は困難になってくるのでしょうかね?
    Oracle の NUMBER型に対して、桐がこの事例のような挙動を
    するとして。
記事No.4025 のレス /過去ログ26より / 関連記事表示
削除チェック/

■4390  Re[2]: 外部DB(ODBC)接続時に日付の日を取り出したい。
□投稿者/ hidetake -(2009/02/24(Tue) 09:33:26)
    パスワード:[kiri] 


    Access 自体は「DAY」関数を持ち合わせているけど
    桐が ODBC では「DAY」関数を何故か備えていないよう
    だから、桐が ODBCで直接変換して「日」だけを取り出
    すのは無理でしょうね。

    なので、表示の問題だったら、通りすがりさんの書か
    れたとおりフォームで「日」だけを表示するように
    するか、計算で必要だったら、桐側で日だけを取り出
    して計算に使うか。


    あとは、Access 側で桐に必要なフォーマットのビュー
    (クエリ)を作っておいて、桐ではそれを対象にするか、

    あるいは、面倒な話だけれど、Access でも別の DB
    でも良いけど、外部DB に日を取り出すための[日付]と
    [日]の 2項目を持つテーブルを設け、必要な期間の
    データの日付をレコードとして全てもつ。桐の外部DB
    では、対象のAccess のデータと、日を取り出すための
    テーブルを対象表として、Access の[日付]と、日取り
    だし用の[日付]を結合する。そして、表示は日取りだし
    用の[日]を表示させる。


    そんなところですかね!?


    桐でも SQL を直接投げかけて処理できると良いのだけれ
    ど。

記事No.4383 のレス /過去ログ28より / 関連記事表示
削除チェック/

■4401  Re[7]: 外部DB(ODBC)接続時に日付の日を取り出したい。
□投稿者/ うにん -(2009/02/25(Wed) 09:58:02)
    パスワード:[kiri] 


    > これらの関数は 桐ver8 の時から一緒のようですから、この
    > 時期は MySQL なんて日本ではほとんど使われていなかった
    > でしょうけど、何の事情があったのですかね?

    7.1のHELPでみるとこの時は年もなかったようです。

    > Oracle だけ EXTRACT 関数に置き換えてと言うのも無いので
    > しょうが。

    何でExtractを使わないですかね。
    もしかして古いSQLServerにはこっちがなかったとかかなあ。

    外部DBの計算項目に桐の関数が全部使えないというのも
    何とかならないんですかね。SQLに入れるんでなくて、結果に項目を追加できる
    だけで今回のようなケースにも対応できるようになるのに。
    結合表に外部DBを使えないし。
    FileMakerでは前バージョンからそういうことができるようになってます。
    パフォーマンスの問題で実用にするには使い方が難しいらしいですが。
記事No.4383 のレス /過去ログ28より / 関連記事表示
削除チェック/

■4411  Re[6]: 外部DB(ODBC)接続時に日付の日を取り出したい。
□投稿者/ hidetake -(2009/02/26(Thu) 22:57:27)
    パスワード:[kiri] 


    > Oracle だけは、やはり独自に処理しているのですかね?
    > TO_CHAR を使っているのかな?

    Oracle はさわったことが無いのでピンと来ませんが
    桐ver8 の時のマニュアルの「外部DB」の図にも何の
    説明もなく、データソースのところの「種類」の欄が
    あり、ODBC と ORACLE を選べるような画面になって
    いましたが、これって、Oracle の 古くは SQL*Net
    とか Net8 とか 今ではOracle Net と言うようなもの
    が入れてあり、これを使っている場合のみ上記選択肢
    がでるようになっているのですかね?
    (選択画面を添付)

    長門さんが使っているのは、ORACLE にチェックをつけ
    ている場合で、#str(日時型項目) が通ったとかでは
    無いのでしょうか?

    ODBC をチェックして ODBC 接続した場合は ODBC関数の
    方を ORACLE をチェックした場合は ORACLE関数を使って
    いるのですかね? > 長門さん

2224.jpg/53KB
2224.jpg
/53KB
記事No.4383 のレス /過去ログ28より / 関連記事表示
削除チェック/

■4514  Re[3]: こんなこと出来ますか?
□投稿者/ hidetake -(2009/03/27(Fri) 18:54:17)
    パスワード:[kiri] 


    >>桐から直接ラベルプリンタにアクセスできないのでしょうか
    >>最近のはプリンタドライバ経由てのもあるようですし
    > プリンタにアクセスは出来ますが、着店コードの表引き、住所は他部署で作成していることか桐からはプリントアウト出来ません。
    >

    印刷だけで良ければ尾形さんの書かれたとおり桐で出せば?
    着店コードや住所は外部DBで桐に取り込めば、あとは自由に
    できるのでは?

    印刷だけでなく、蓄積したデータを ACCESS に取り込んで
    印刷とともに他の処理をしていれば話は別ですけど・・・

記事No.4506 のレス /過去ログ29より / 関連記事表示
削除チェック/

■4937  Re[2]: ETCカード読み取り
□投稿者/ hidetake -(2009/07/07(Tue) 21:41:27)
    パスワード:[kiri] 


    > なくてもいいような書き方ですよね。MDBというかDAO?

    ETCカードって、最大100件まで履歴が残っているのですね。
    初めて知りました。

    デンソーの説明書を見ると確かに履歴データは MDB に保存
    しているような雰囲気ですね。
    MDB だと、別に Access が無くてもリンクすれば「桐」でも
    データを参照できそうですが、ただ、データにパスワードが
    かけてあれば、デンソーのソフトからは読めても外部アプリ
    からは、たとえ Access があってもデータは利用できないの
    で、デンソーにデータの保存先や外部アプリからの参照は
    できるかなど確認した方がよろしいかと思います。

    いずれにせよ、カードから読み込んだデータは、外部DBなり
    TXT/CSV で再利用できたとしても、カードからデータを読む
    部分は、専用のアプリで行うものと思われます。

    Felicaチップの Edyや Suica の読める PaSoRi のアプリケー
    ションは、読み込んだデータは TXT/CSV では書き出せますが
    PC には履歴は保存されないので、デンソーのソフトなどとは
    作りが違いますね。


    > WEBからも参照できるようですが
    > http://www.etc-user.jp/
    > こっちで済めば費用がかからないですね。

    マイレージに表示される前でも、このサイトで通行履歴は
    確認できるのですね。知らなかった・・・

    ただ、こちらのサイトは、車番と ETCカード番号での履歴だけ
    なので、そのカードを使って、他の車で使ったとかは確認でき
    ないわけで、不正利用のチェックは無理なようですね。

    ETCカードに残る履歴には利用した「車載器管理番号」の履歴
    は残らないのでしょうかね? それがあるとチェックも楽だろう
    に。
記事No.4935 のレス /過去ログ31より / 関連記事表示
削除チェック/

■5009  外部DBの表示項目名
□投稿者/ うにん -(2009/08/24(Mon) 16:27:23)
    パスワード:[kiri] 


    桐9-2009なんですが、前から変わってないと思います。
    外部DBで、(すべて)を選択したときに表示項目名が「表.項目」になるのですが、
    この「表.」を付けない設定はないのでしょうか。
    せっかく桐の項目名を外部DBと合わせてあっても読込とかで照合できなくなってしまうので悲しい。
    複数表で重複しないようにってのはわかりますけど実際に使ってる表は1つだけだし。
親記事 /過去ログ32より / 関連記事表示
削除チェック/

■5010  Re[1]: 外部DBの表示項目名
□投稿者/ hidetake -(2009/08/24(Mon) 17:16:32)
    パスワード:[kiri] 


    2009/08/24(Mon) 17:24:57 編集(投稿者)

    > 外部DBで、(すべて)を選択したときに表示項目名が「表.項目」になるのですが、
    > この「表.」を付けない設定はないのでしょうか。

    外部DBの対象表で「(すべて)」をドラッグする限り
    対象表名はついてくるようです。
    それがイヤなら、対象表のところで右クリックして
    「全項目の選択」もしくは Ctrl + A で全ての項目
    を選択状態にしてドラッグで、要は項目を1つ単位
    で表示項目に指定するしか無いと思います。

    また、こういうやり方をしないで「(すべて)」での
    指定では、外部DB の種類によってはエラーとなる
    場合もあったかと思います。なお、これは、外部DB
    に対する大文字小文字の桐のバグ(対策)です。
    PostgreSQL のテーブル名が TEST と大文字の場合
    「(すべて)」で選んでしまうと、桐は
    SELECT TEST.* FROM "TEST"
    と SQL を投げかけます。
    "" で括るのが中途半端で TEST.* の方は、小文字の
    test テーブルが呼び出されたように PostgreSQL 側
    で処理されてしまいます。

    なので、自分は「(すべて)」で指定することはやめて
    「(すべて)」を指定したい場合も全ての項目を選択し
    ドラッグしています。



    追加
    テーブル名にスペースを含む場合も PostgreSQL では
    問題になります。テーブル名が「TEST TABLE」として
    桐は SQL Server や Access に対しては
    SELECT 1.* FROM "TEST TABLE" AS 1 /* +UNDEFZERO */
    のように別名を使うので問題が生じませんが、
    PostgreSQL に対しては
    SELECT TEST TABLE.* FROM "TEST TABLE"
    となってしまうわけです。なので「(すべて)」を使うと
    やっかいです。
記事No.5009 のレス /過去ログ32より / 関連記事表示
削除チェック/

■5011  Re[2]: 外部DBの表示項目名
□投稿者/ うにん -(2009/08/24(Mon) 20:20:13)
    パスワード:[kiri] 



    > それがイヤなら、対象表のところで右クリックして
    > 「全項目の選択」もしくは Ctrl + A で全ての項目
    > を選択状態にしてドラッグ

    これで我慢します。

    > テーブル名にスペースを含む場合も PostgreSQL では
    > 問題になります。

    さすがにそういう名前を付けようとは思わないので大丈夫かな。
    もしかして桐で使う場合は日本語名にした方が却って安全?

記事No.5009 のレス /過去ログ32より / 関連記事表示
削除チェック/

■5012  Re[3]: 外部DBの表示項目名
□投稿者/ hidetake -(2009/08/25(Tue) 16:08:17)
    パスワード:[kiri] 


    >>テーブル名にスペースを含む場合も PostgreSQL では
    >>問題になります。
    >
    > さすがにそういう名前を付けようとは思わないので大丈夫かな。
    > もしかして桐で使う場合は日本語名にした方が却って安全?
    >

    その辺は何とも? (^^;

    自分の場合、桐のデータを Web で利用するために PostgreSQL に
    データを移し利用しており、項目名はそのまま漢字で使用していま
    すが、テーブル名はさすがに漢字は使っていませんでした。

    まぁ〜、桐の場合、SELECT での問題もありますが、外部DB書き出し
    の時のテーブル名の取り扱い(大文字小文字関連)で、PostgreSQL に
    対しては「追加」で書き出す際の問題もあるので、何を使おうとも
    何らかの制限は出て来ると思っています。



    と思いながらも、念のためにテストしてみました。(PostgrSQLで)

    テーブル名に大文字を使うと抽出での「(全て)」の問題あり、
    書き出しの追加は可能。

    テーブル名に小文字を使うと抽出での「(全て)」の問題ない、
    書き出しの追加はエラー
    (古いドライバーでは勝手に上書きされたし、他のDBでも同様な
    経験もあり)


    で、テーブル名に漢字を使うと、・・・
    両方ともいけました! (^^)
    少なくとも PostgreSQL 相手には、漢字を含めて、大文字小文字の
    区別の存在しない文字を使うのが吉なのかかも?知れません。
    ホントかな?
    # 他に問題が出そうな気もしますが。

記事No.5009 のレス /過去ログ32より / 関連記事表示
削除チェック/

■5014  Re[4]: 外部DBの表示項目名
□投稿者/ うにん -(2009/08/25(Tue) 16:26:58)
    パスワード:[kiri] 


    > # 他に問題が出そうな気もしますが。

    名前の問題じゃないけど、追加書き出しすると長さのあふれた文字列は自動的に捨てられますね。
    最初に全角2文字を書き出すとcharacter(4)になって、追加で全角4文字書き出すと
    2文字しか入ってない。(pgsqlはUTF-8だと4文字入るが桐はSJISのバイト数で計算してる)
    データ型のマッピング機能がほしいですね。
記事No.5009 のレス /過去ログ32より / 関連記事表示
削除チェック/

■5013  外部DBの表示更新
□投稿者/ うにん -(2009/08/25(Tue) 16:08:40)
    パスワード:[kiri] 


    環境設定で「再表示の間隔」設定しても自動更新されません。なんでだろ。
    「実表を更新する外部データベース」です。共有で開いてもだめだった。

    pgsql側でデータ変更した後、桐で再抽出せずに項目編集すると的外れなメッセージが出て保存できない。
    KD1672:ODBC エラー
    "外部DBテーブル名" 表の更新レコード数は 0 行です
    主キーまたは一意索引の値が変更または削除されています
    これも「項目訂正時とカーソル移動時の処理対象項目は、つねに最新の情報が表示されます。」が実行されてないのでそうなる。

    あ、桐同士での変更しか反映されないのか!?しかし
    外部DBなのに桐からの変更しか感知しないというのも変だよなあ。
親記事 /過去ログ32より / 関連記事表示
削除チェック/

■5015  Re[1]: 外部DBの表示更新
□投稿者/ hidetake -(2009/08/25(Tue) 16:54:51)
    パスワード:[kiri] 


    2009/08/25(Tue) 17:08:02 編集(投稿者)

    この辺は、Access の「テーブルのリンク」だって似たようなものだと
    思います。

    ただ、桐の場合は、条件に合うデータを一度に全部持ってきて、桐内部
    に保持しますが、Access の場合は一度に全部ではなく、表示されている
    レコードの付近をある程度のバッファ容量だけ持ってくるようです。
    なので、レコード件数が多い場合は、レコードの移動により、行って戻
    ってくると、最新のデータに変わっている場合もあります。桐は明示的に
    「結合表の再抽出」を行った場合のみ最新のデータを取り直してきます。

    あと、データの編集で異なるのは、もちろん、桐も Access も最新の
    データのことなど考慮しませんが、桐の場合は、何の条件もなく UPDATE
    をかけます。なので、サーバ側の特別の条件に引っかからない限り、最新
    のデータなど関係ないし自分のデータで UPDATE しますが、Access は
    抽出した段階のデータを「WHERE句」の条件としてくっつけて SQL を
    投げかけます。なので、抽出した項目の1項目でも自分が抽出したときと
    値が異なっていたら、データが更新されているとエラーが発生されます。


    今回のエラーは索引の関係で、桐が UPDATE した内容と整合性が保て無く
    なっていたのだと思います。



    一部編集
    > 表示されているレコードの付近をある程度のバッファ容量だけ持って
    > くるようです。

    コレって、やはり変かな? ある一定レコード数なのかな。

記事No.5013 のレス /過去ログ32より / 関連記事表示
削除チェック/

■5016  Re[2]: 外部DBの表示更新
□投稿者/ うにん -(2009/08/25(Tue) 17:39:21)
    パスワード:[kiri] 



    > あと、データの編集で異なるのは、もちろん、桐も Access も最新の
    > データのことなど考慮しませんが、桐の場合は、何の条件もなく UPDATE
    > をかけます。なので、サーバ側の特別の条件に引っかからない限り、最新
    > のデータなど関係ないし自分のデータで UPDATE しますが、Access は
    > 抽出した段階のデータを「WHERE句」の条件としてくっつけて SQL を
    > 投げかけます。なので、抽出した項目の1項目でも自分が抽出したときと
    > 値が異なっていたら、データが更新されているとエラーが発生されます。

    桐も9-2009では既存値を見ています。ODBCのトレースで
    未定義の項目にデータを入力すると
    "UPDATE public."table" SET "\ff\ff\ff\ff\ff\ff"=? WHERE "\ff\ff\ff\ff\ff\ff" IS NULL AND "pkey"=?"
    既存値の変更だと
    "UPDATE public."table" SET "\ff\ff\ff\ff\ff\ff"=? WHERE "\ff\ff\ff\ff\ff\ff"=? AND "pkey"=?"
    でparamが3つになる。

    さっきのエラーは桐が自分の持ってる既存値を検索条件にいれてて見つからないので編集できなかったというケースなのです。
記事No.5013 のレス /過去ログ32より / 関連記事表示
削除チェック/

■5017  Re[3]: 外部DBの表示更新
□投稿者/ hidetake -(2009/08/25(Tue) 18:04:32)
    パスワード:[kiri] 


    > 桐も9-2009では既存値を見ています。ODBCのトレースで
    > 未定義の項目にデータを入力すると
    > "UPDATE public."table" SET "\ff\ff\ff\ff\ff\ff"=? WHERE "\ff\ff\ff\ff\ff\ff" IS NULL AND "pkey"=?"
    > 既存値の変更だと
    > "UPDATE public."table" SET "\ff\ff\ff\ff\ff\ff"=? WHERE "\ff\ff\ff\ff\ff\ff"=? AND "pkey"=?"
    > でparamが3つになる。

    この WHERE句 って抽出条件では無いのですか?

    コレって相当前に調べたことだけれど、再度、手元で
    調べたら何も変わっていないようでした。
    別の PC で書き換えあとで UPDATE しても、何のエラー
    もなく自分のデータで書き換えてくれましたけど。

    "別"=2 の状態で 2台の PC で抽出。
    別の PC で 1 に書き換えたあと、もう1台で 3 に
    書き換えた場合、

    'UPDATE "reikai" SET "別"='3' WHERE "id"=20091402'

    と、最初の抽出条件の "id"=20091402 はついているけど
    "別"='2' は WHERE句には付加されていません。
    これ以外にも一杯項目はあるのですけど・・・

    これは PostgreSQL に限ってテストしたわけでも無かっ
    たと記憶しているのですが。
記事No.5013 のレス /過去ログ32より / 関連記事表示
削除チェック/

■5018  Re[4]: 外部DBの表示更新
□投稿者/ うにん -(2009/08/25(Tue) 20:04:07)
    パスワード:[kiri] 


    >>桐も9-2009では既存値を見ています。ODBCのトレースで
    >>未定義の項目にデータを入力すると
    >>"UPDATE public."table" SET "\ff\ff\ff\ff\ff\ff"=? WHERE "\ff\ff\ff\ff\ff\ff" IS NULL AND "pkey"=?"
    >>既存値の変更だと
    >>"UPDATE public."table" SET "\ff\ff\ff\ff\ff\ff"=? WHERE "\ff\ff\ff\ff\ff\ff"=? AND "pkey"=?"
    >>でparamが3つになる。
    >
    > この WHERE句 って抽出条件では無いのですか?

    そうです。pkeyが主キーで、それの前にANDで古い値を渡して
    変更されてなかった場合だけUPDATEするようにしているわけですよね。

    > コレって相当前に調べたことだけれど、再度、手元で
    > 調べたら何も変わっていないようでした。
    > 別の PC で書き換えあとで UPDATE しても、何のエラー
    > もなく自分のデータで書き換えてくれましたけど。
    >
    > "別"=2 の状態で 2台の PC で抽出。
    > 別の PC で 1 に書き換えたあと、もう1台で 3 に
    > 書き換えた場合、
    >
    > 'UPDATE "reikai" SET "別"='3' WHERE "id"=20091402'
    >
    > と、最初の抽出条件の "id"=20091402 はついているけど
    > "別"='2' は WHERE句には付加されていません。

    こちらでやったのは、別のPCは桐を使わずpgAdmin3などで変更しています。
    そのせいで他の変更が取得できてないのかと思ったのですが、そうでもない?
    「3に書きかえる」とき、項目編集に入ったら最新データ=1になってくれるのが
    HELPの記述ですよね。この点はどうでしょうか。
    これは表示の更新間隔を「0=自動更新なし」にしないとそうならないのかなあ。

    ちなみに私のトレースの項目名が\ffだらけになってるのは、伏字にしたのでなく
    元々こうなのです。何か変。
    あと、prepareとbinddataが使われてるので、hidetakeさんの例のような即値の
    SQLにはなってません。bindの部分はデータ長とポインタしかログされてなくて、
    実際のデータが見えません^^;;;
記事No.5013 のレス /過去ログ32より / 関連記事表示
削除チェック/

■5019  Re[5]: 外部DBの表示更新
□投稿者/ hidetake -(2009/08/25(Tue) 22:19:20)
    パスワード:[kiri] 


    2009/08/25(Tue) 22:36:37 編集(投稿者)

    > こちらでやったのは、別のPCは桐を使わずpgAdmin3などで変更しています。
    > そのせいで他の変更が取得できてないのかと思ったのですが、そうでもない?
    > 「3に書きかえる」とき、項目編集に入ったら最新データ=1になってくれるのが
    > HELPの記述ですよね。この点はどうでしょうか。
    > これは表示の更新間隔を「0=自動更新なし」にしないとそうならないのかなあ。

    コレって HELP の中の
    > [再表示の間隔]
    > 表を共有するとき、何秒ごとに最新の情報に更新するかを指定します。
    > 実表を更新する結合表と外部データベース、参照整合性で関連づけら
    > れた表の編集でも、同じ間隔で更新されます。指定できる間隔は1秒
    > から 1000 秒までです。一定間隔ごとに更新する必要がない場合は
    > ゼロを指定します。
    > 更新する間隔を短くすると、頻繁にアクセスするようになるため、
    > コンピュータとネットワークの負荷が大きくなりますので注意して
    > ください。更新する間隔をゼロにしても、つぎの場面では自動的に
    > 最新の情報に更新されます。
    >
    > 画面スクロール
    > 表を更新した後
    > 編集対象表の切り替え
    > 項目訂正時とカーソル移動時の処理対象項目は、つねに最新の情報が
    > 表示されます。

    の事ですね。
    > 実表を更新する結合表と外部データベース
    が記載されているのは、初めて知りました。

    自分の設定は 5秒ですが、外部DBで自動的に更新された覚えはありません
    けど・・・

    試しに 1秒にしたけど、1秒待っても 30秒待っても「結合表の再抽出」を
    実行しない限り表示データは更新されないようですけど。


    追加
    桐v8 の(紙の)マニュアルにも
    > 実表を更新する結合表と外部データベース
    は、ちゃんと記載されていました。
    と、言うことは読んだことはあるのだろうけど、自動更新(再抽出)された
    覚えは1度もありません。

    自動更新されたところで、訂正モードに入ってからサーバ側が更新されて
    そのデータが反映されることは無いので、だからどうだとも言えないとは
    思いますが。
記事No.5013 のレス /過去ログ32より / 関連記事表示
削除チェック/

■5021  Re[6]: 外部DBの表示更新
□投稿者/ うにん -(2009/08/26(Wed) 12:00:10)
    パスワード:[kiri] 



    > 自分の設定は 5秒ですが、外部DBで自動的に更新された覚えはありません
    > けど・・・
    >
    > 試しに 1秒にしたけど、1秒待っても 30秒待っても「結合表の再抽出」を
    > 実行しない限り表示データは更新されないようですけど。

    やっぱりそうですかあ。バグっぽいなあ。

    > 自動更新されたところで、訂正モードに入ってからサーバ側が更新されて
    > そのデータが反映されることは無いので、だからどうだとも言えないとは
    > 思いますが。

    訂正前に一々再抽出しないでいいだけで、ずいぶん操作性が違うと思います。
    保存できない(そちらではできてるようですが)とわかってるのに
    無駄な編集する危険性も減りますよね。
    訂正モードに入った時サーバをロックできれば完璧かなあ。
記事No.5013 のレス /過去ログ32より / 関連記事表示
削除チェック/

■5023  Re[7]: 外部DBの表示更新
□投稿者/ 通りすがり -(2009/08/26(Wed) 13:13:54)
    パスワード:[kiri] 


    > やっぱりそうですかあ。バグっぽいなあ。

    表を共有する時の設定だから
    外部データベースの表を複数台で共有して、1台で表更新すると、他のPCの表が仕様どおりに更新再表示されるのでは?
    ODBC接続先データからの更新反映は別の話しかと
記事No.5013 のレス /過去ログ32より / 関連記事表示
削除チェック/

■5024  Re[8]: 外部DBの表示更新
□投稿者/ hidetake -(2009/08/26(Wed) 14:26:33)
    パスワード:[kiri] 


    >>やっぱりそうですかあ。バグっぽいなあ。
    >
    > 表を共有する時の設定だから
    > 外部データベースの表を複数台で共有して、1台で表更新すると、他のPCの表が仕様どおりに更新再表示されるのでは?
    > ODBC接続先データからの更新反映は別の話しかと

    .XVW を複数台で共有しても、別に他の PC の表示が更新されることも
    無いようですけど。

記事No.5013 のレス /過去ログ32より / 関連記事表示
削除チェック/

■5025  Re[9]: 外部DBの表示更新
□投稿者/ 通りすがり -(2009/08/26(Wed) 14:32:32)
    パスワード:[kiri] 


    > .XVW を複数台で共有しても、別に他の PC の表示が更新されることも
    > 無いようですけど。

    ああ、御確認有難うございます<m(__)m>
    単に仕様の読み違えかと思って…書いてから今確認中

    拙速、ゴメンネ >> うにん さん
記事No.5013 のレス /過去ログ32より / 関連記事表示
削除チェック/

■5020  Re[5]: 外部DBの表示更新
□投稿者/ hidetake -(2009/08/26(Wed) 08:32:37)
    パスワード:[kiri] 


    > ちなみに私のトレースの項目名が\ffだらけになってるのは、
    > 伏字にしたのでなく元々こうなのです。何か変。

    この形式の表記は見たような気もしたけど、これは ODBC の
    トレースの中身のようですね。(SQL.LOG)

    私の書いたのは、今回は PostgreSQL 相手だったので PostgreSQL
    の ODBC ドライバにログをはき出すように設定し、その中身です。
    psqlodbc_xxxx.log
    mylog_xxxx.log

記事No.5013 のレス /過去ログ32より / 関連記事表示
削除チェック/

■5022  Re[6]: 外部DBの表示更新
□投稿者/ うにん -(2009/08/26(Wed) 12:50:51)
    パスワード:[kiri] 


    >>ちなみに私のトレースの項目名が\ffだらけになってるのは、
    >>伏字にしたのでなく元々こうなのです。何か変。
    >
    > この形式の表記は見たような気もしたけど、これは ODBC の
    > トレースの中身のようですね。(SQL.LOG)

    そうです。

    > 私の書いたのは、今回は PostgreSQL 相手だったので PostgreSQL
    > の ODBC ドライバにログをはき出すように設定し、その中身です。
    > psqlodbc_xxxx.log
    > mylog_xxxx.log

    なるほど、こっちにもあるのですね。(設定画面ではc:\になってるけどVistaの
    せいか実際は自分のディレクトリにできていた。)

    mylog〜を見るとparamが埋め込まれた状態がわかりました。
    例えば未定義値の項目を項目訂正するとき
    [220-1014.779] stmt_with_params = 'UPDATE public."tablename" SET "項目名"=E'12:24' WHERE "項目名" IS NULL AND "コード"=E'06017''
    やっぱり私のとこではデータが変更されてないかチェックしてます。
    変更されてると「主キーまたは一意索引」じゃなくて変更しようとした項目が
    変更されてるんだけど、エラーになって保存できない。一旦編集を破棄して
    再抽出してから編集しなおす必要があります。
    項目訂正ならコピペできるからまだいいけど、行訂正だと悲惨。

    と思って行訂正のログを見たら、WHEREに条件が追加されてない。何と。
    桐から書き出したtableで、先頭の項目がサーバ側では単なるcharacterなのに
    外部DB定義したときなぜか勝手に主キー扱いになってました。
    全然uniqueじゃないのに?
記事No.5013 のレス /過去ログ32より / 関連記事表示
削除チェック/

次の50件>

<< 0 | 1 | 2 | 3 | 4 >>

ヒット件数が多いので過去ログ1〜89 までの検索結果 / 過去ログ90からさらに検索→

パスワード/

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -