A5:SQL Mk-2

開発のこと、日々のこと

【要望】コマンドでA5起動DB接続(Version 2.16.0 beta 4)

ホーム フォーラム A5:SQL Mk-2掲示板 【要望】コマンドでA5起動DB接続(Version 2.16.0 beta 4)

  • このトピックには50件の返信、1人の参加者があり、最後にItoにより3年、 9ヶ月前に更新されました。
15件の投稿を表示中 - 1 - 15件目 (全51件中)
  • 投稿者
    投稿
  • #7362 返信
    Ito
    ゲスト

    松原様
    お世話になります。Itoです。

    Version 2.16.0 beta 4で「/connect “DB名”」で接続を確認しました。
    ありがとうございます。

    教えてください。例えばですが、
    事前にA5にDB接続情報が未設定の状態で
    コマンドでA5起動DB接続するように改修する事は
    改修工数はどれぐらいかかりますか?
    難しいでしょうか?

    CSEの事例にしますが、以下のような
    コマンドからの起動実現を希望します。

    “cse.exe /title=” & sTITLE & ” /srv=” & sSID & ” /user=” & sUSER & ” /pwd=” & sPASS & ” /dbms=oracle”

    (掲示板の記載ルールが不慣れで申し訳ありません、もしかして、1要望が1掲示板と思いまして新たに掲示板記載しております、重複掲載の失礼申し訳ありません)

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

    Itoさんこんにちは。Amazonギフト券ありがとうございました。
     
    接続情報を登録していないDBへのコマンドラインからの接続ということですよね。これは、実装するのはおそらく大変ではないと思うのですが、仕様決めのほうが大変な気がします。指定された接続先は永続的にA5:SQL Mk-2の設定に残すべきか、その時だけの設定にするべきか…。指定のさせ方はどうするかや、A5:SQL Mk-2はCSEよりも接続できるRDBMSの種類や接続方法が多いため、指定のための文字列は長くなりがちで、使いにくい機能になりかねません。
     
    もうちょっと考えさせてください。(おそらくは、コマンドライン版A5:SQL Mk-2と同じような指定の仕方になるかと思います)

    #7371 返信
    Ito
    ゲスト

    松原様
    お世話になります。Itoです。
    >A5:SQL Mk-2はCSEよりも接続できるRDBMSの種類や接続方法が多いため
    おっしゃる通りですね。しばらく待ちます。
    >指定された接続先は永続的にA5:SQL Mk-2の設定に残すべきか
    >その時だけの設定にするべきか…
     ⇒接続情報を外に持つか?A5:SQL Mk-2の中に持たせるか?でございますが、こちらの背景・事情を補足説明いたします。 ■補足説明■ 現在の私どもはEXCEL一覧に接続先のDBインスタンス名とOracleID/PWを約50行*6Excelシートの行数ぶんのOracle環境を運用保守しております。このEXCELシートからは FFFTP(ツール2種類)、TeraTerm、OBツール、CSEツール、を本番環境/検証環境シートで起動ツールを別にしています。(環境別に起動するツール種類を別にする事で環境誤認識によるケアレスミス防止です=テスト環境と思って本番環境のデータ削除をするような間違い防止の為)。そして接続情報は定期的に変更は、EXCELシートに記載した接続情報を変更して対応していおります。そして接続情報の開示範囲はシート単位で配布管理しております。このような事情・背景があります為、極力ツールの中へ接続情報を保持させ配布する事は省きたいと考える事情があります。

    #7372 返信
    Ito
    ゲスト

    また、接続情報をA5:SQL Mk-2の中に持たせたくない、もう一つの事情(考え方)があります。それは接続Oracleユーザーにおいては参照権限のみ付与したユーザーと、更新権限を付与したユーザーがあります。「/connect “DB名”」のDBの命名において、このユーザー権限の意味を持たせた=DB名命名ルールになってしまうのではないでしょうか? 例えば、/connect ”ABC_DB_読取専用” と /connect ”ABC_DB_更新権限有” の2つの接続情報をA5:SQL Mk-2の中に持たせる事になるのではないでしょうか? ⇒ もしそうだとしたならば、DB名とユーザーは分けて管理したいです=接続情報をA5:SQL Mk-2の外に持たせる事を希望致します。

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

    Itoさんこんにちは。
     
    Version 2.16.0 beta 7で、/AddDB と /SetDB パラメータを用意しました。次のような指定の仕方をします。
     
     A5M2.exe /AddDB DB登録名=接続文字列
     A5M2.exe /SetDB DB登録名=接続文字列

    どちらも、A5:SQL Mk-2にデータベースを登録するパラメータですが、/AddDBはすでに同じ名前で登録されているときはエラーになるのに対して、/SetDBは上書き保存をします。

    接続文字列には、A5:SQL Mk-2内部で使用される接続文字列を指定します。具体的には、「データベースの追加と削除」で「エクスポート」を使用すると作成されるファイル *.dblist の形式です。
    (エクスポート機能はパスワードが除去された状態でエクスポートされるので注意してください。)
     
    この接続文字列はしばしば長くなりがちですが、Oracleでは最低限、以下のように指定すればよいはずです。

     A5M2.exe /AddDB DB登録名=__ConnectionType=Internal;ProviderName=Oracle;Direct=False;TNSNAME=Oracle接続文字列;SavePassword=True;UserName=ユーザー名;Password=パスワード
     
    DB登録の追加と同時に接続するには、以下のようにします。
     
     A5M2.exe /AddDB DB登録名=__ConnectionType=Internal;ProviderName=Oracle;Direct=False;TNSNAME=Oracle接続文字列;SavePassword=True;UserName=ユーザー名;Password=パスワード
    /Connect DB登録名

    DBを複数登録するときは、/AddDB(/SetDB)を複数記述してください。/Connectは/AddDB(/SetDB)の後に指定してください。

    #7435 返信
    Ito
    ゲスト

    松原様
    お世話になっております。Itoです。
    確認致します。お時間ください。

    #7474 返信
    Ito
    ゲスト

    松原様

    お世話になっております。Itoです。

    a5m2_2.16.0_beta7_x86で動作確認致しました。
    考えて(実装して)頂きましてありがとうございます!
    お礼に募金させて頂きますので、
    別途、ご確認下さいませ。

    確認状況ですが、
    /AddDB と /SetDB パラメータの動作確認済
    パラメーター登録後の /Connect DB登録名
    起動確認済でございます。
    ありがとうございます。
    その上で、要望があるのですが
    ご確認して頂けますでしょうか?

    【要望】
    1.A5M2に登録されているパラメータを一括削除するコマンドは作成可能でしょうか?
      (この時、A5M2画面は起動せずにパラメータを一括削除)

    2.A5M2.exe /SetDB DB登録名=接続文字列でパラメーターを登録しますが、
      この時、A5M2画面は起動せずにパラメータ登録は可能でしょうか?

    3.A5M2.exe /Connect DB登録名 で接続した場合、A5M2画面の5行目にある
      ”ターゲットデータベース”が黄色でマーキングされていますが、
      ”ターゲットデータベース”の初期表示を/Connect DB登録名で初期表示可能でしょうか?
      (前回操作で選択入力したDB登録名を初期表示されているようです?)

    【ご参考まで、こちらで想定しておりますA5M2の起動手順をお伝えいたします】
     ①EXCELシートにDB接続先一覧を登録して、接続する行をマークして
       EXCEマクロを起動します。(EXCELシートおよびマクロはこちらで作成しています)

     ②上記①で起動したマクロは(下記③を起動する前処理として)
       A5M2に登録されているDB接続パラメータを一括削除するコマンドを実行したいです。
       理由は、A5M2内部にDB接続パラメーターを残したくない為です。
       (EXCEL一覧で選択したDB接続先だけをDB操作を保証する、
        EXCEL一覧で選択したDB接続先以外のDB環境はさわらせない為です)

     ③上記①で起動したマクロは、上記②に続いて、
       EXCELシートで選択行に記載しているDB接続情報をもとにEXCELマクロで
       A5M2.exe /SetDB コマンドを組み立ててコマンド実行します。
       パラメーター登録のみ(A5M2画面は起動しない)

     ④上記①で起動したマクロは、上記③に続いて
       EXCELシートで選択行に記載しているDB接続情報をもとにEXCELマクロで
       A5M2.exe /Connect DB登録名 コマンドを組み立ててコマンド実行します。
       A5M2画面が起動して、A5M2画面の”ターゲットデータベース”は、
       上記、/Connect DB登録名のDB名が初期表示される。

    このような流れを考えております。これが実現すれば
    ありがたいです。

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

    Itoさんこんにちは。
     
    ご寄付ありがとうございました。

    >1.A5M2に登録されているパラメータを一括削除するコマンドは作成可能でしょうか?

     これについてですが、「/DelAllDB」を作成しようと思います。ちょっと今週は間に合いませんが、現状でもポータブルモードを利用し、起動ごとにDB登録がから状態のPortableフォルダをコピーする(挿げ替える)などすれば代替も可能と思います。(設定も完全リセットされるのでよりベターかも?)ポータブルモードでないなら、レジストリで「HKEY_CURRENT_USER\SOFTWARE\mmatsubara\A5M2(x64)\DataSources」を削除すればデータベース登録を削除できます。

    >2.A5M2.exe /SetDB DB登録名=接続文字列でパラメーターを登録しますが、
    >  この時、A5M2画面は起動せずにパラメータ登録は可能でしょうか?

    これについては、「/Exit」コマンドを用意しようと思います。少々お待ちください。

    >3.A5M2.exe /Connect DB登録名 で接続した場合、A5M2画面の5行目にある
    >  ”ターゲットデータベース”が黄色でマーキングされていますが、
    >  ”ターゲットデータベース”の初期表示を/Connect DB登録名で初期表示可能でしょうか?

     これは、SQLエディタのDB選択プルダウンでしょうか?。確かにそのほうが良いかもしれないですね。ただ、SQLエディタのDB選択プルダウンの初期値はオプションダイアログの[SQLエディタ]タブの「初期データベースの選択値」(デフォルトは「DBツリーで選択中のデータベース」)の影響もうけることに注意が必要です。

    あと、Itoさんの要件の場合、もしかするとA5:SQL Mk-2コマンドラインユーティリティ(https://www.vector.co.jp/soft/winnt/util/se519353.html)のほうも検討されたほうが良いかもしれません。このツールは発展途上で、まだ少々使いにくいツールかもしれませんがもう少々改善したいと考えています。

    #7533 返信
    Ito
    ゲスト

    お忙しい中、お手数をお掛けして申し訳ありませんが
    宜しくお願い致します。
    完成をお待ちしております。

    #7642 返信
    Ito
    ゲスト

    松原様
    お世話になります。Itoです。
    その後、どのような状況でございますでしょうか?
    もし難題箇所がございましたら
    おっしゃって下さい。

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

    Itoさんこんにちは。
     
    すみません、掲示板でのご報告を行っておりませんでしたが、version 2.16.0 beta 10で以下のオプションを実装しています。readme.txtにも記載していますのでご確認ください。

    /DelDB … 単一のデータベースを削除
    /DelAllDB … 全てのデータベースを削除
    /Exit … アプリケーションを起動せずにそのまま終了
     
    いかがでしょうか?。

    #7679 返信
    Ito
    ゲスト

    松原様
    お世話になっております。Itoです。
    ご対応して頂きましてありがとうございます。
    確認致しますのでお時間下さい。

    #7694 返信
    Ito
    ゲスト

    松原様

    お世話になります。Itoです。
    こちらからの要望に対応して頂きまして
    ありがとうございます。お礼に少しばかりですが寄付をお送りしますので
    ご確認をお願い致します。

    以下に検証結果を報告いたします。
    ——————————————–
    version 2.16.0 beta 11 x86版
    PC OS:Windows10 Pro バージョン 1903
    ——————————————–
    2点ほど想定通り動作しない箇所がありました。
    なぜでしょうか?ご確認をお願いできますでしょうか?
    こちらの起動方法に不足がありましたら教えて下さい。
    ——————————————–
    ★A5M2.exe /AddDB <DBName>=<ConnectionString>
    ⇒登録される動作確認OK

     但しこちらのPC設定が原因でしょうか下記のメッセージが表示されます。
    “起動シーケンス “起動パラメータの処理”でエラーが発生しました。:ファイル
    C:\A5M2_11\~コマンドで打鍵した文字列/AddDB <DBName>=<ConnectionString>が表示されます~
     は開けません。指定されたファイルが見つかりません。”

     ※C:\A5M2_11はA5M2.exe の格納フォルダです。

    ★A5M2.exe /SetDB <DBName>=<ConnectionString>
    ⇒設定される動作確認OK

     但しこちらのPC設定が原因でしょうか下記のメッセージが表示されます。
    “起動シーケンス “起動パラメータの処理”でエラーが発生しました。:ファイル
    C:\A5M2_11\~コマンドで打鍵した文字列/AddDB <DBName>=<ConnectionString>が表示されます~
     は開けません。指定されたファイルが見つかりません。”

    ★A5M2.exe /Connect <DBName>
     下記のメッセージが表示されます。
     ”無効/非表示ウィンドウにはフォーカスを設定できません”
     ”OK”ボタンを押下
     ↓
     ”起動シーケンス “起動パラメータの処理”でエラーが発生しました。:ファイル
     C:\A5M2_11\<DBName> は開けません。指定されたファイルが見つかりません。”
     ”OK”ボタンを押下
     ↓
     A5M2画面は表示されますがDB接続されません
     ※手動でDB選択してDB接続は可能です。

    ★A5M2.exe /Exit
    ⇒既にA5M2画面を開いた状態で
     A5M2.exe /Exit
     をコマンドプロンプトから打鍵すると
     一瞬別画面でA5M2のタイトルバーのある
     白い画面が表示されて消えます。
     既に開いているA5M2画面は
     そのままの状態(プログラム終了しない)

    ★A5M2.exe /DelDB <DBName>
    ⇒登録削除される動作確認OK

    ★A5M2.exe /DelAllDB
    ⇒全て登録削除される動作確認OK

    ★1点QAです
    ポータブルモード(”Portable” フォルダを作成し)で起動した場合
    「A5:SQL Mk-2 起動パスワード」の入力を求められますが、
    下記のコマンドラインで起動パラメータの
    指定方法(凡例)がございましたら教えて頂けますか?
    A5M2.exe /AddDB
    A5M2.exe /SetDB
    A5M2.exe /DelDB
    A5M2.exe /Exit

    以上でございますが、できれば今週~来週ぐらいには
    何が原因なのか?(こちらの指定ミスetc)を知りたいです。
    どれぐらいでこちらで用意しているEXCELシートへ
    上記コマンド群を搭載できるかの目星を付けたいです。
    一方的なお願いばかりで恐縮ではございますが、
    お手すきの際にでも教えて頂けますと助かります。
    お忙しいところ申し訳ありませんが、もうしばらく
    宜しくお願い致します。

    #7695 返信
    Ito
    ゲスト

    追記です。

    ——————————————–
    ★A5M2.exe /AddDB <DBName>=<ConnectionString> /Exit

    ⇛コマンドの最後尾に /Exitを付けてみましたが
     画面は閉じませんでした。

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

    Itoさんこんにちは。
     
    何度もご寄付ありがとうございます。大変助かります。

    起動オプションの件ですが、どうやら、特定の条件でしか正しく動作しないようでした。申し訳ありません。Version 2.16.0 beta 13で修正してみたのでお試しください。

15件の投稿を表示中 - 1 - 15件目 (全51件中)
返信先: 【要望】コマンドでA5起動DB接続(Version 2.16.0 beta 4)
あなたの情報:




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