メインコンテンツへスキップ

変数のタスク間コピーで記憶形式が変わる場合がありました

コメント

14件のコメント

  • nkmt

    サポートには報告しておりません。

  • nkmt

    別の新しい子タスクを作って、変数をもらってくる実験をしてみましたが再現しませんでした。

  • shinpei

    nkmtさん

    こんにちは

    私も、周りもよくハマる現象とよく似ていたので投稿しました。

    子タスク側の埋め込みSQLを記述していない状態で、変数コピーした後、SQL部を書くと

    記憶型式がMagicNumberとかになっちゃいます。なぜかは不明。

    なので、SQL書いた後に変数作成するようにしてます。

    実際に試してなくてすみません。

  • shinpei

    あ、ちなみにSQLServerを使用した場合です。

    ISHIJIMAさんのおっしゃっている通り、DBMSによって動きが違うかもしれません。

  • nkmt

    ISHIJIMAさんの投稿が大ヒントになって再現出来ました。

    親タスクはメインソースではなくて、SQLコマンド。
    そこに定義していた変数をマルチマーキング → コピー。


    子タスクを作成。
    まだこの時点は、メインソース。
    変数を貼り付け。

    その後、この子タスクをメインソース 改め SQLコマンドへ変更。
    この時点で、変数の記憶形式がMagic Number等に変わっていました。

    SQLコマンドのタスクを、別のSQLコマンドのタスクへ貼り付ける際は
    SQLコマンドへ変更してから、貼り付ければ大丈夫そうです。

    ISHIJIMAさん いつもコメントありがとうございます。

  • nkmt

    投稿した後、shinpeiさんの投稿も拝見しました。
    私もSQL Serverです。
    同じ事象ですね。対策がわかって良かったです。
    どうもありがとうございました。

  • nkmt

    shinpeiさんが埋め込みSQLとおっしゃっているのは
    Q=SQLコマンド の事ですよね?
    範囲の所に
    Magic SQL
    DB SQL:もありますね。
    昔は、半角全角大文字小文字なんでもOKあいまい検索の時に
    DB SQL:欄に
    JAPANESE_CI_AS like ’%たなか%’などを書いておりました。

    タスク間変数コピーが出来る事を実は今日初めてちゃんと認識しました。^^;
    でもコピーしたら変になるバグがあるのかな?と

  • nkmt

    凄い所でもあり厄介な所でもあるのでしょうね。

  • shinpei

    nkmtさん

    そうです。

    埋め込みSQL = Q=SQLコマンド

    の認識で使ってました。

    普通は範囲のDBSQLのところを指すのですか!?

    穴があったら入りたい気分です・・・。

     

    今でもDBSQL欄は使用しています。

    あいまい検索にも使ってます。

    インデックス効きづらいので、あまり多用したくはありませんが・・・。

    運用考えたらやっぱり必要ですもんね。

     

    プログラム間で変数コピーできたらいいのにと思うことはよくあります・・・。

  • shinpei

    連投すみません。

    先程の私の書き込みで埋め込みSQLのところ、

    見直してみたらよくわからないこと言ってるなと思ったので、

    私の投稿は忘れてください。

    失礼いたしました。

  • nkmt

    埋め込みSQLという言葉は、他の方からもよく聞きます。
    埋め込みSQL = Q=SQLコマンド なんだろうなと私も認識しております。
    同じ症状がある事を教えて頂きありがとうございました。

    メインソースにデータリポジトリを指定して
    DB SQL:欄に
    JAPANESE_CI_AS like ’%たなか%’ といったのも使う事もありますし
    Q=SQLコマンド に SELECT・・・WHERE 項目 LIKEを使う事もあるかもしれません。


  • nkmt

    xpa4.6.1 PT1で試しましたが、変数をコピーして、
    別PGへ貼り付け出来ました。後輩によると、最近のバージョンから・・・みたいな事は
    今朝聞きました。

  • shinpei

    nkmtさん

    埋め込みSQLの件、フォロー感謝です。

     

    ほんとだ!コピーできました!

    元PGのモデル番号と名前をメモ帳なんかに貼り付けて

    作成したいPGに1つずつ変数追加して、メモ帳からコピペとかやってました。

    貴重な情報ありがとうございました!

  • Tanda

    これは便利になりましたね。

サインインしてコメントを残してください。