A5:SQL Mk-2

開発のこと、日々のこと

エクスポートに関する対応依頼と要望

ホーム フォーラム A5:SQL Mk-2掲示板 エクスポートに関する対応依頼と要望

このトピックには4件の返信が含まれ、2人の参加者がいます。3 日、 20 時間前 荒木 さんが最後の更新を行いました。

5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • #3206 返信

    荒木

    はじめまして。
    エクスポートに関して対応依頼と要望を書かせていただきました。

    環境
    データベース Oracle Database 12c Standard Edition Release 12.1.0.2.0 – 64bit Production 及び Oracle Database 11g Release 11.2.0.4.0 – 64bit Production
    データベースキャラクタセット JA16SJISTILDE
    各国語キャラクタセット AL16UTF16

    A5:SQL Mk-2 version 2.13.3 64bit

    ●対応依頼
    char(100)に全角50文字を格納しているフィールドをエクスポートすると
    全角50文字 + 半角空白50文字
    が出力されます。
    Oracleはバイト数指定ですが他のデータベースだと文字数指定のものもあるらしいのでその影響でしょうか。
    エクスポートしたものを編集してインポートするときエラーが出そうなので、正しいサイズで出るようになりますか。
    (空白の右側trimは他のフィールドに影響が出るため使っていません)

    ●要望
    ・エクスポートの動作負荷について
    エクスポート(一括・単一共に)を指示すると、プログラムが応答なしになり、しばらくすると応答なしが解除され完了されるため、進捗バーが確認できない状況です。
    PCのスペックの問題と思いましたが、サーバー上で動かしても応答なしになってしまうので、処理負荷の選択ができると嬉しいです。
    なお、インポート時は応答なしになることなく、ウインドウ下部に進捗が表示できていました。

    ・単一エクスポートの進捗及び結果の表示
    一括エクスポートは進捗バーと結果表示(「n個のテーブルをエクスポートしました。」)がありますが、1つずつのエクスポートの際もそれらの表示が欲しいです。
    (表示されているが応答なしのため見えていないだけの場合は申し訳ありません。)

    ・ソートについて
    データ表示やエクスポート時、主キーでソートされますが、ソートしないオプションが欲しいです。
    テーブルを開いてソートを解除すれば対応できますが、テーブル1つずつに対して行なわなければならず一括エクスポートできないためです。

    長くなってしまい大変申し訳ありません。よろしくお願いします。

    #3228 返信

    松原正和
    キーマスター

    荒木さんこんにちは。
     
    CHAR型の項目に全角文字がある場合、余計な空白が付いてしまったりするのはなかなかに根が深い問題です。データベースによってCHARの長さが文字単位だったりBYTE単位だったり…当然文字コードも異なるのでなかなか完全には対応しにくい状況です。
     
    ちょっと妥協的な対応になりますが、「文字列右側をトリム」する機能を追加したいと思います。

    単一エクスポートの進捗ですが、プログレスバーではこれは実は難しいです。理由はエクスポートの際、「片方向結果セット」モードでクエリーを実行しますが、これは結果セット全体の件数を取得できないためです。何件出力したかは当然わかるのですが、全体件数が分からないのでプログレスバーでの進捗表示ができません。代わりに、ステータスバーを用意して、「テーブル名 : ○○ records.」を更新していく方式にしたいと思います。
     
    エクスポートの並び順ですが、一括エクスポートでは現状でもソートはしていません。理由はバックアップ等の目的なら並び順は関係ないですし、order byを付けないほうが速い可能性があるからです。
     
    あと、巨大なテーブルをエクスポートすると終わるまで応答が無くなる件ですが、こちらも対処したいと思います。(途中でキャンセルできるようにも)

    #3234 返信

    荒木

    ご連絡ありがとうございます。

    「文字列右側をトリム」とはどういう機能でしょうか。サイズ超過したフィールドにだけ影響を与え、設定サイズより短いフィールドについては正しく半角空白が補われるような動作でしょうか。

    エクスポートの進捗について、現在きちんと動いているかが知りたいので、「テーブル名 : ○○ records.」の表示と、最後に「完了しました」のメッセージが出れば大丈夫です。一括エクスポートにも「テーブル名 : ○○ records.」の表示が欲しいです。

    一括エクスポートのソートの件は私の勘違いでした。申し訳ありませんでした。

    よろしくお願いします。

    #3265 返信

    松原正和
    キーマスター

    荒木さんこんにちは。

    「文字列右側をトリム」とは文字列型(CHAR, VARCHAR等)全てで、文字列の右側に付加されている半角空白を取り除きます。(ただし、それによって “” になってしまう場合はトリムしません)

    #3274 返信

    荒木

    [設定]-[オプション]-[Oracle]-[CHAR型データの空白を除去(右側trim)する]のオプションを、CHAR型だけでなく文字列型全てに拡張するような形でしょうか。
    私の要望としては、設定サイズぴったりになるようフィールドに半角空白をプラスしてほしいと考えていますが、例えば必要なパラメータを手動設定する方法等でも難しいでしょうか。

5件の投稿を表示中 - 1 - 5件目 (全5件中)
返信先: エクスポートに関する対応依頼と要望
あなたの情報:




コメントは受け付けていません。