A5:SQL Mk-2

開発のこと、日々のこと

A5:SQL Mk-2 コマンドラインユーティリティ

ホーム フォーラム A5:SQL Mk-2掲示板 A5:SQL Mk-2 コマンドラインユーティリティ

  • このトピックには26件の返信、1人の参加者があり、最後に松原正和により3週、 4日前に更新されました。
15件の投稿を表示中 - 1 - 15件目 (全27件中)
  • 投稿者
    投稿
  • #7408 返信
    katsuwo
    ゲスト

    A5:SQL Mk-2 コマンドラインユーティリティを使用したいのですが、実行サンプルがありましたらご教示いただけないでしょうか。
    ※ファイルを指定してSQLを実行してCSVを出力したいです。
     SQLServer、MySQLで利用を考えております。

    コマンドラインでSQLを実行することが不慣れであるため、的外れな質問になっていた場合申し訳ございません。

    お手数をおかけしますが、よろしくお願いいたします。

    #7438 返信
    松原正和
    キーマスター

    katsuwoさんこんにちは。
     
    すみません、A5:SQL Mk-2 コマンドラインユーティリティですが、サンプルもなく、ドキュメントも読みにくいため使いづらいですよね。
     
    例えば、SQLServerでlocalhostの1417ポートで待ち受けする “master” に対して、”sa”ユーザー(パスワード: “FUGAFUGA”)で接続し、test.sqlを実行して結果を得るには、以下のようなコマンドを実行します。
     
    A5M2cmd.exe “/Connect=__ConnectionType=Internal;ProviderName=SQL Server;UserName=sa;Password=FUGAFUGA;ServerName=localhost;Port=1417;Database=master” /RunSQL /FileName=test.sql
     
    実行結果はQuery-1.csv, Query-2.csv のようなCSVファイルで出力されます。
     
    同じように、MySQLでlocalhostの3380ポートで待ち受けする “test_db” に対して、”HOGEHOGE”ユーザー(パスワード: “FUGAFUGA”)で接続し、test.sqlを実行して結果を得るには、以下のようなコマンドを実行します。
     
    A5M2cmd.exe /Connect=__ConnectionType=Internal;ProviderName=MySQL;UserName=HOGEHOGE;Password=FUGAFUGA;ServerName=localhost;Port=3306;Database=test_db /RunSQL /FileName=test.sql

    A5:SQL Mk-2 コマンドラインユーティリティは(今のところ)DBに付属するコマンドラインツールのように対話的にSQLを実行するというよりは、A5:SQL Mk-2の機能をバッチなどから単発的に呼び出すツールと思っていただければよいかと思います。

    #7484 返信
    katsuwo
    ゲスト

    ありがとうございます!
    いろいろ試してみます。
    利用は単発でデータ取得したいので、用途には合っていると思います。

    #9822 返信
    yyosh
    ゲスト

    コマンドラインユーティリティについて1点確認させてください。
    クエリの実行にあたり、A5:SQLで設定済みのDB情報をそのまま利用できると便利だと思ったのですが、今のところそのような機能は無いという理解であっていますでしょうか?
    例えば、SSH2トンネルを利用するような少し複雑なDBに対してコマンドラインでクエリを実行できると、その処理のためのプログラムの代わりにこのユーティリティを使用することが出来て助かるなあと思った次第です。

    宜しくお願い致します。

    #9844 返信
    松原正和
    キーマスター

    yyosh さんこんにちは。
     
    はい、現状ではDB登録の設定は別途行うようになっています。GUI版ツールがないとDB登録内容を確認・更新できないという状況が少し困るのと、GUI版ツールで登録したDB情報は必ずしもパスワードを保持していないなど、少し都合が悪いからです。
     
    あと、一応は別ツール扱いであるという理由などもあります。

    #10536 返信
    koten
    ゲスト

    お世話になります。
    便利なツールありがとうございます!

    Oracleで利用していたことはあったのですが、Postgresで利用する必要があり、利用したところ、SQLを投げても

    relation “schemaName.tableName” does not exist

    というメッセージが返ってきてエラーになってしまいます。
    (schemaName:スキーマ、tableName:テーブル)

    テーブル名をダブルクオーテーションで囲んでも同様なエラーになってしまいます。
    読み込むSQLの内容はGUI版では正しく、動くことを確認できております。

    どのように、記述すべきかご教示いただけると助かります。

    どうぞ、よろしくお願いします。

    #10546 返信
    松原正和
    キーマスター

    koten さんこんにちは。
     
    もしかするとですが、接続先DBが違ってしまっているため、該当テーブルが見つからない等の問題が発生していないでしょうか?。

    #10548 返信
    koten
    ゲスト

    松原様:確認ありがとうございます。
    確認したところ、Database パラメータの値が間違っていることがわかりました。
    丁寧な対応ありがとうございます。
    助かりました!

    #18267 返信
    masaru
    ゲスト

    現在、サクラレンタルサーバーのmysqlにバッチにてデータを登録処理を調査中です。
    A5:SQL Mk-2ではSSH2トンネルの設定により接続できたのですが、
    コマンドラインユーティリティからは接続できません。SSHの設定ができていないからだと思います。
    コマンドラインユーティリティでSSH2トンネルの引数を与える事はできないのでしょうか?
    現在下記で試しています。

    A5M2cmd.exe /Connect=__ConnectionType=Internal;ProviderName=MySQL;UserName=*****;Password=*******;ServerName=**************;Port=3306;Database=hikari-ax_ki /RunSQL /FileName=test.sql

    ご回答のほど、よろしくお願いいたします。

    #18417 返信
    松原正和
    キーマスター

    masaru さんこんにちは。
     
    コマンドラインユーティリティでSSH2トンネルを使うには、同根の a5m2cmd.ja.txt を読んで、 “__SSH***” オプションを指定します。
     
    コマンドが長く、大変になるので、GUI版のA5:SQL Mk-2を使用してエクスポートしてそこからパスワードだけ設定しなおして接続文字列を作るとよいかもしれません。

    #20661 返信
    hass
    ゲスト

    お世話になっております。
    コマンドラインユーティリティでストアドを実行したいのですが、何かオプションを付ける必要がありますでしょうか。
    現在、以下のようなコマンドを実行しておりますが、ストアドが実行されていないようです。
    【コマンド】
    A5M2cmd.exe /Connect=__ConnectionType=Internal;ProviderName=Oracle;UserName=XXX;Password=XXX;Direct=True;ServerName=localhost;Port=1111;Database=XXX /RunSQL /FileName=sql文ファイルパス /OutputFolder=xxx

    【sql文】
    begin
    【ストアド名(引数)】;
    end;

    #20670 返信
    松原正和
    キーマスター

    hass さんこんにちは。
     
    A5:SQL Mk-2 コマンドラインユーティリティはデフォルトでは ; をSQLの区切りとして認識してしまうため、不完全なストアドプロシージャを実行しようとしているのかもしれません。
     
    たとえば、 /Separator=Slash オプションをつけるなどすると、 ; をSQLの区切りとしてみなさなくなるため、正しく実行できるの絵はないかと思うのですが、いかがでしょうか?

    #20681 返信
    hass
    ゲスト

    松原様

    ご返信いただきありがとうございます。
    ご教授いただいたオプションをコマンドにつけることにより、問題なくストアドが実行されることを確認しました。
    大変助かりました。

    今後ともよろしくお願いいたします。

    #20809 返信
    ゲスト
    ゲスト

    /RunSqlの時、実行するSQLファイルに引数を渡す方法はあるでしょうか。
    Where文をコマンドラインから制御し、1つのsqlファイルで済むようにしたいと考えております。
    もしありましたら例文を頂戴したく存じます。

    #20822 返信
    松原正和
    キーマスター

    ゲストさんこんにちは。
     
    コマンドラインユーティリティでは、/UseEnvVar パラメータを指定すると、 ${env} 形式で環境変数から文字列を取得して置換することができます。
     

15件の投稿を表示中 - 1 - 15件目 (全27件中)
返信先: A5:SQL Mk-2 コマンドラインユーティリティで#7438に返信
あなたの情報:




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