フォーラムへの返信
-
投稿者投稿
-
松原正和キーマスター
awr さんこんにちは。
Version 2.16.0 beta 8で修正してみましたので、ご確認いただければと思います。松原正和キーマスター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.sqlA5:SQL Mk-2 コマンドラインユーティリティは(今のところ)DBに付属するコマンドラインツールのように対話的にSQLを実行するというよりは、A5:SQL Mk-2の機能をバッチなどから単発的に呼び出すツールと思っていただければよいかと思います。
松原正和キーマスターmaiashiさんこんにちは。
これば別件で現在対応中の不具合と同梱ではないかなと思うのですが、Version 2.16.0 beta 7では症状はいかがでしょうか?。
以上よろしくお願いいたします。松原正和キーマスターawrさんこんにちは。
手元の環境でSQLの入力支援において、ER図を割り当てたときに論理名が出なくなるのは確認しましたが、割り当てていないときはちょっと再現できていません。もうちょっとかかりそうです。おそらく、SQLServerだけで発生する問題ではないかと思います。
松原正和キーマスター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)の後に指定してください。
松原正和キーマスターItoさんこんにちは。Amazonギフト券ありがとうございました。
接続情報を登録していないDBへのコマンドラインからの接続ということですよね。これは、実装するのはおそらく大変ではないと思うのですが、仕様決めのほうが大変な気がします。指定された接続先は永続的にA5:SQL Mk-2の設定に残すべきか、その時だけの設定にするべきか…。指定のさせ方はどうするかや、A5:SQL Mk-2はCSEよりも接続できるRDBMSの種類や接続方法が多いため、指定のための文字列は長くなりがちで、使いにくい機能になりかねません。
もうちょっと考えさせてください。(おそらくは、コマンドライン版A5:SQL Mk-2と同じような指定の仕方になるかと思います)松原正和キーマスターあいだまことさんこんにちは。
タイムアウトなどで、クライアントから切断していないのに接続が切れた場合の挙動ですが、RDBMSの種類や、接続の仕方(専用接続・直接接続・ODBC)で変わってきそうな気がします。どのようなRDBMS・接続方式かお教えいただけるとありがたいです。松原正和キーマスターNTさん、竹脇無我さんこんにちは。
調査したところ、これまで、新しいUniDACではSSLの「サーバー証明書を信用する」機能が削除されたと思っていたのですが、別クラスに移動していただけでした。再度Version 2.16.0 beta 5に実装してみましたので、お試しください。
なお、この修正はVersion 2.15系にもバックポートしたいと思います。松原正和キーマスターddddchi さんこんにちは。
確認したところ、デフォルト値にnullを指定したtimestamp型は、show columns from…で表示したところ、デフォルト値はnullでした。ただ、デフォルト値を指定しないtimestamp型はcurrenttimestampなり、0000-00-00 00:00:00だったりするのですが、「A5:SQL Mk-2はデフォルト値は指定しなければ nullが入る」を前提としているため、ここで齟齬が発生したようです。
MySQLのtimestampではデフォルト値がnullで取得された場合、ER図のデフォルト値にも nullを設定するように修正しますので少々お待ちください。松原正和キーマスターItoさんこんにちは。
まず、「/Connect “DB名”」のDB名はA5:SQL Mk-2で登録したデータベース名です。また、ユーザー名とパスワードは登録時に指定してパスワードは保存されるようにしてください。
これで接続されないでしょうか?。松原正和キーマスターawrさんこんにちは。
現象を確認しました。まだちょっと修正できていないのですが、早急に修正したいと思います。少々お待ちください。松原正和キーマスターItoさんこんにちは。
これまで、A5:SQL Mk-2の起動時オプションはファイルを開くくらいしかなかったのですが、Version 2.16.0 beta 4で「/connect “DB名”」で接続できるようにしてみました。
よろしければお試しください。松原正和キーマスター田原誠之さんこんにちは。
すみません、こちらの問題は全く進んでいません。そもそも、Win32(Win64)アプリケーションをMicrosoftストアで公開(開発)する情報はあまり多くなく、やり方がよくわからない状況です。松原正和キーマスター里中静流さんこんにちは。
現在、DB接続にはDevart社のUniDACというDB接続コンポーネントを使用しているのですが、こちらのほうでそもそも対応できていないようです。ソースはあるのでちょっと見てみようかとは思うのですが、ちょっと難しいかもしれないです。松原正和キーマスターまめ菓子さんこんにちは。
データベースの種類は何でしょうか?。Oracleの場合、事前に「DBMS_OUTPUT.ENABLE(20000);」などを実行すると、出るかもしれません。 -
投稿者投稿