普段よりosqleditを愛用させてもらっております。
対応の要望がありまして投稿いたします。
キーワード補完ウインドウでのコメント表示機能において
パブリックorプライベートシノニムのオブジェクトで
元のスキーマに設定されているコメントを表示できるように
なりませんでしょうか。
キーワード補完のウインドウですがサイズを調整したく思います。
もしサイズ調整可能なウインドウに変えた場合にウインドウ表示負荷が
高くなってしまうようであればそこまでしてではないのですが、
負荷が気にならないレベルであればできればサイズを変更(記憶)
できるようになると助かります。
負荷が気になるようであれば設定画面での数値による設定でも良いと思っています。
検討よろしくお願いいたします。
>小夜さん
はじめまして。
報告いただき、ありがとうございます。
IMEの表示位置について調査いたします。
はじめまして。
oedit で「右端で折り返す」の選択していると IME の表示位置が変になることがあるのですが、予防方法はありますか?
例えば下記のような操作です。
1.ファイルを2つ新規作成し、名前を aa.txt と bb.txt とする。
2.aa.txt を oedit で開く。
3.オプションで「列番号を表示」をオンにする。
4.「右端で折り返す」をオンにする。
5.開いている aa.txt に改行を入れていき、100行以上にする。
6.任意の行に文字をウィンドウの右端に到達するまで入れる。もしくは複数行になるまで入れる。
7.「ファイル(F)」→「上書き保存(S)」で保存する。
8.「ファイル(F)」→「開く(O)...」で bb.txt を開く。
9.IME を使おうとすると、各行の先頭で表示位置が画面の右下に表示されるようになります。
また別の例として、oedit_7541.zip から解凍したばかりの oeditフォルダ があるとき、
1.ChangeLog.txt を oedit で開く。
2.oedit を最大化する。
3.「右端で折り返す」をオンにする。
4.「ファイル(F)」→「開く(O)...」で ReadMe.txt を開く。
5.IME を使おうとすると、各行の先頭で表示位置が画面の右下に表示されるようになります。
再現するコツは、最初に開いたウィンドウを再利用することです。
そして、おかしくなるのは100行以上あるファイルではなく、その後に開いたファイルです。
今回確認したのはWindows10ですが、Windows97の頃からこの現象が起きています。
対策などありましたら教えてください。
期待通りに動くようになりました。
ありがとうございました。
>はらさん
ご報告ありがとうございます。
osqledit 10.0.3.6で修正しました。
OSqlEdit Version 10.0.3.5(32bit)
にて、
macro_ref.txt
に例として記載してある
(sys-strftime "%Y-%m-%d %H:%M:%S" (sys-localtime (sys-time)))
を実行すると、
Error: sys-localtime: number required: #<unknown>
のエラーダイアログが表示されます。
どのようにすれば現在日時を文字列で取得出来るでしょうか?
ちなみに (app-status-bar-msg (sys-time)) を実行すると、
ステータスバーには
# <unknown>
と表示されます。
>Orator さん
回答いただき、ありがとうございます。
説明していただいたとおりの動作をします。
OCI.DLLを探す優先順位は、オプションメニューの設定タブで設定したフォルダ、
カレントディレクトリ、PATHの順番です。
>rokuさん
どうしてもOCIライブラリが初期化できない場合、
OracleClientのインストール先にosqledit.exeをコピーする方法もあります。
OCI.DLLだけでなく、OCI.DLLがリンクしているライブラリも必要なため、
この方法でうまくいく可能性があります。
> roku さん
当方(Windows 7 Pro/SP1)環境では
Oracle Client 10.2.0.1.0 (32bit) + Patch 10.2.0.4.0
Oracle Instant Client 10.2.0.1.0 (32bit)
Oracle Instant Client 10.2.0.1.0 (64bit)
Oracle Data Access Components 11.2.0.3.20 with Oracle Instant Client 11.2.0.3.0
Oracle Data Access Components 12.1.0.2.4 with Oracle Instant Client 12.1.0.2.0
の 5 つが並列インストールされていますが、osqledit を利用できています。
osqledit の詳しい実装はおがわ さんでないと分かりませんが、OCI.DLL の探索時には
まずカレントフォルダーを探し、無ければ環境変数 PATH の記載順で
捜索されているように見受けられます。(32bit/64bit が異なる DLL はスキップされる)
もし、環境変数 PATH に複数のパスが書かれている場合、
その順番を入れ替えてみることで結果が変化しないでしょうか?
PATH 上で先に書かれているものが、優先して使用されるようです。
(PATH の優先順位は、Oracle Universal Installer からも変更できます)
もしくは、カレントフォルダーが優先されるようですので、
32bit の osqledit / osqlgrid 一式が置いてあるフォルダーに
32bit の Oracle Instant Client 一式をコピーしてみるのは如何でしょうか。
>Oratorさん
早速の回答ありがとうございます。
丁寧な説明で助かります。
32bit版のOsqleditを使用していたので、32bitのOracleClientの再インストール及び、
【設定】タブから明示指定を試してみたのですがダメでした。。
正常に起動するPCと比べ、
ヘルプ→バージョン情報
から見えるパスがOCI.DLLではなく、osqledit.exeになっているのでこちらが変われば
直るような気がしているのですが、上記の対応を行ってもosqledit.exeのままでした。
このバージョン情報のパスを変更する方法をご存知でしたら教えて頂けると助かります。
> roku さん
osqledit が 32bit 版なら、32bit の OCI.DLL、
osqledit が 64bit 版なら、64bit の OCI.DLL が
必要になると思います。
自分は x64 環境ですが、
32bit の Oracle Client
64bit の Oracle Instant Client
をインストールした状態で、OSqlEdit の 32bit/64bit 版両方を
利用できています。
32bit/64bit それぞれの oci.dll があるディレクトリへのパスは、
システムのプロパティの[詳細設定]タブの[環境変数]で
システム環境変数 Path に割り当ててある状態です。
環境変数を割り当てているのに駄目ということであれば、
OSqlEdit のメニューから [ツール]-[オプション]を開き、
[設定]タブから、OCI.DLL や TNS_ADMIN の所在を
明示指定してみては如何でしょうか。
また、下記の kaizer11 さんは、Oracle Client を
インストールしなおすことで解決したようです。
www.hi-ho.ne.jp/a_ogawa/bbs/list43.shtml
1点質問させてください。
osqleditを起動したところ「ociライブラリが初期化されていません」というエラーが表示され使用できませんでした。また対応策として下記の方法を試しましたが上手くいきません。他に対処できる方法があれば教えて頂けないでしょうか?
@環境変数PATHにoci.dllのインストール先を指定する。
A32bitのOracle Instant Clientを使用し、起動バッチを作成する。
>おがわさん
ご回答ありがとうございます。
>Martinez4 さん
ご利用いただき、ありがとうございます。
CSVデータをインポートする機能はありませんが、osqlgridを利用することで
Excelで開いたCSVデータを張り付けることが出来ます。
また、dmpファイルをIMPORT/EXPORTする機能はございません。
OSqlEditに関して、2点質問をさせてください。
1.CSVデータをインポートする機能はありますでしょうか。
2.dmpファイルのデータをIMPORTしたり、
dmpファイルにデータをEXPORTする機能はありますでしょうか。
以上、よろしくお願いいたします。
>おがわさん
ご回答ありがとうございます。
早速試してみたいと思います。
>Martinez4さん
SQL入力欄に以下のコマンドを入力して実行すると、全部のtableのソースを取得できます。
!get_source スキーマ名 table all
その他、詳細はヘルプメニューのコマンドリストを参照ください。
1点質問があります。
OSqlEditにて、「オブジェクトのソースを取得」
という機能が使用できるかと思いますが、
複数テーブルのオブジェクトのソースを
一括で取得する方法はありますでしょうか。
もしないようでしたら、今後実装していただけると嬉しいです。
以上、よろしくお願いいたします。
>Orator さん
ご報告ありがとうございます。
調査いたします。
OSqlEdit で、浮動小数点型フィールドを持つテーブルがある場合、
型名表示がおかしくなるようです。
○ NUMBER(3,2) 型フィールド /* 固定小数点型 */
→ SQL 入力支援は "NUMBER(3,2)"
→ Columnペインは "NUMBER", "3,2"
○ NUMBER 型フィールド
→ SQL 入力支援は "NUMBER"
→ Columnペインは "NUMBER", ""
△ FLOAT(1) 型フィールド
→ SQL 入力支援は "NUMBER(1, 129)" /* 型が異なる */
→ Columnペインは "FLOAT", "1"
△ FLOAT(125) 型フィールド
→ SQL 入力支援は "NUMBER(125, 129)" /* 型が異なる */
→ Columnペインは "FLOAT", "125"
△ FLOAT(126) 型フィールド
→ SQL 入力支援は "NUMBER(126, 129)" /* 型が異なる */
→ Columnペインは "FLOAT", "" /* length 126 になって欲しい */
△ FLOAT 型フィールド
→ SQL 入力支援は "NUMBER(126, 129)" /* 型が異なる */
→ Columnペインは "FLOAT", "" /* length は空でも 126 でも構わない */
× BINARY_FLOAT 型フィールド
→ SQL 入力支援は "-UNKOWN-100(4)" /* 不正な型名 */
→ Columnペインは "FLOAT", "4" /* length は不要 */
× BINARY_DOUBLE 型フィールド
→ SQL 入力支援は "-UNKOWN-101(8)" /* 不正な型名 */
→ Columnペインは "BINARY_DOUBLE", "8" /* length は不要 */
>Oratorさん
報告いただき、ありがとうございます。
osqledit 10.0.3.3で修正しました。
OSqlEdit の不具合報告です。
下記は、バージョン 9.x 系では再現しませんでしたが、
10.x 系では、32bit版/64bit版 とも発生しました。
【再現手順】
(1) [表示]メニューから「オブジェクトリスト」と
「詳細データ」にチェックを入れて、この 2 つのペインが
隣り合う位置にくるようドッキングさせておきます。
たとえば、
┏━━┯━━┓
┃ │List┃
┃ ├──┨Aパターン(上下)
┃ │詳細┃
┗━━┷━━┛
あるいは
┏━━┯━━┓
┃List│詳細┃
┠──┴──┨Bパターン(左右)
┃ ┃
┗━━━━━┛
といった配置にしておきます。
(2) 「オブジェクトリスト」と「詳細データ」の間の分割線をドラッグして
ペインをリサイズします。このとき、マウスボタンを押す際の座標が
Aパターンの場合は、水平線より Y 方向に -1〜-4 ピクセル程度の位置、
Bパターンの場合は、垂直線より X 方向に -1〜-4 ピクセル程度の位置
のあたりにあると、ポインターはリサイズカーソルの形になっているものの、
実際にはドラッグできず、代わりに下記のメッセージが表示されます。
==============
OSqlEdit
--------------
(×)引数が正しくありません。
[OK]
==============
失敗する座標粋は、各ペインのサイズによって増減するようです。
特に、隣り合ったペインの大きさが最小と最大になるように配置してから、
改めて、元のサイズになるようドラッグしなおそうとすると、
リサイズがスムーズに行われない(ばたつく)という現象も起きています。
おがわさん
ご回答有り難う御座います。
確かに仰るとおりDBA_*カタログは権限回りに留意する必要がありますね。
無理のない範囲でご検討頂ければ幸いです。
よろしくお願いします。
>原秀彰さん
ご利用いただき、ありがとうございます。
オブジェクト一覧につきまして、現在はアクセス可能なオブジェクトを表示するため、
ALL_のカタログを検索しています。
また、DBA_のカタログは権限が無い場合、エラーになるためこのような動作となっております。
DBA_を検索したいケースもあると思いますので、今後のバージョンで検討させていただきます。
おがわさん
初めまして。
OSqlEditに10年来お世話になっている者です。
多分、OSqlEditがなかったら私の作業効率は圧倒的に下がっていると思います。
今回書き込ませて頂きましたのは、要望を一つお伝えしたいと思ったからです。
オブジェクトの一覧で別のスキーマのシノニムを表示する必要がありました。
しかしALL_SYNONYMSを利用しているためか、データベースリンクを含むシノニムが表示されないという事象がありました。
DBA_SYNONYMSなど別の方法で一覧が取得出来ると利用出来るか否かに関わらず一覧には出るという動きが出来るかと思います。
ご検討下さいますと幸いです。
おがわさん
修正した版をリリースして頂きありがとうございます。
私の問題の出ていた環境で問題なくオブジェクトリストが表示されました。
大変ありがとうございます。
>青横さん
報告いただき、ありがとうございます。
こちらでも現象を確認でき、osqledit最新版で修正しました。
おがわさん
返信ありがとうございます。
教えていただいたSQLを発行して結果を見ましたところ一番大きいテーブルのlengthb(c.comments)は、
3971
でした。
トップ5としては下記の結果となっています。※テーブル名は変えています。
TABLE_NAME LENGTHB(C.COMMENTS)
AAA_AAA_AAA_AAAA 3971
BBB_BBB_BBB_BBBB 2799
CCC_CCC_CCC_CCCC 2744
DDD_DDD_DDD_DDDD 1661
EEE_EEE 469
>さわださん
ご要望ありがとうございます。
ログ保存の件、検討させていただだきます。
>青横さん
ご報告ありがとうございます。
COMMENTの長さはどのくらいあるでしょうか?
以下のSQLで長さを確認できると思います。
select t.table_name, lengthb(c.comments)
from user_tables t, user_tab_comments c
where t.table_name = c.table_name
>愛用者さん
ご愛用ありがとうございます。
以下についてosqleditと同じになっているか確認してみてください。
・フォントの設定
・Oracle Libraryのバージョン (ヘルプ→バージョンメニューで確認できます)
10年ほど愛用しております。
1点質問させてください。
osqleditでは、UTF8の文字が適正に表示されるのですが、
osqlgridは文字化けして■と表示されてしまいます。
osqlgridはutf8に対応していないのでしょうか。
オプション設定(2)のOracleとUnicode(UTF8)で通信するにはチェックを入れています。
長年愛用させていただいております。
特定のスキーマのテーブル一覧をオブジェクトリストに表示する際にアプリケーションエラーとなりosqledit(Ver.10.0.3.0 64bitと32bit、Ver.9.6.7.2共)が強制終了される現象が発生しています。
オプションの「設定(2)」タブで「OracleとUnicodeで通信する」のチェックを外した場合は、オブジェクトリストは表示されますが、TABLE_NAME・COMMENTSのリスト表示が途中からおかしくなっていて、コメントの内容が次の行のTABLE_NAME欄とCOMMENTS欄に続けて表示されています。
例えばですが、テーブルのコメントが極端に長かった場合や改行が多数入っている場合、またはコメントに特定の文字が入っていた場合にこのような現象が起こることはありえますでしょうか?
この現象が発生しているスキーマにあるテーブルの特徴としてコメント欄にテーブルの説明が長々と改行入りで書かているものが大多数だったため、コメントが悪さをしているのではと考えている次第です。
SQL Developerでは問題が発生していないのですが使い慣れているosqleditを使用したいので、確認すべき点等ありましたらご教示いただけますと非常に幸いです。
約14年ほど使わせていただいております。
64bitも対応していただいていただいたため、大変ありがたく思っております。
不躾な要望で大変申し訳ございませんが、実行結果のログを自動的に取る機能が
あるといざという時に助かります。
よろしくお願い致します。
早速、回答いただきありがとうございます。
類似ソフトウェアに使いやすいモノがなく、
今後の更新を楽しみにしております。
>TKさん
ご質問の件、psqledit psqlgridについて、
最近は更新ができておりませんが、
開発は継続していく予定です。
>りれまさん
ご報告ありがとうございます。
今後のバージョンアップで対応したいと思います。
SELECT文作成のキー割り当て、早々に対応いただきありがとうございました。
さっそく今日から使わせていただきました。
OS認証、早速の対応(v10.0.3.0)での対応ありがとうございます!
ログイン画面にて直接入力では問題なく接続できたのですが、
「ログイン情報の設定」にてユーザID/パスワードなしの
ログイン情報が登録できません、、、(^^;
(OKボタンが押下できない)
おそらく対応漏れかと思いますが、ご報告させていただきます。
あと今後の課題という意味で参考までに。
10g以降、接続モードにはSYSBACKUPなど色々と増えています。
どのようなラインナップがあるのかは、マニュアルや
ORACLE提供のSQL Developer17.3(*)を見ていただくとわかります。
SQL Developerでは、OS認証は意図的に選択するような設定にもなって
いますね。
このあたりは、どこまで追従するのか、という話だと思いますので
作者様のご判断にお任せ、というところでしょうか。
(*) OTNからダウンロードする方のSQL Developerです。
Oracleクライアントに同梱されているSQL Developerではありません。
同梱されているSQL Developerは3.x と古い(?)です。
postgresql をこれからは使用することを考えているのですが、
psqleditとgridは今後も開発を継続されるのでしょうか?
>Oratorさん
ご要望ありがとうございます。
検討させていただきます。
osqledit の「データ参照」ダイアログ
osqlgrid の「データ編集」ダイアログ
において、Ctrl + F の 検索ダイアログや
Ctrl + H の置換ダイアログが使えると有難いです。
CLOB や VARCHAR2(MAX) などのフィールドのために。
>まさきたさん
ご要望ありがとうございます。
今後のバージョンアップで検討させていただきます。
>りれまさん
ご報告ありがとうございます。
OS認証について、調査いたします。
osqledit には大変お世話になっています。感謝です。
本日は、ORA_DBA,ORA_OPERによるOS認証に不具合(?)があるようなので
ご報告させていただきます。
OS認証を行うために、クライアントの sqlnet.ora において以下の設定で
あることを前提とします。
SQLNET.AUTHENTICATION_SERVICES = (NTS)
(1) Windows に任意のユーザを追加
(2) 該当ユーザをWindowsのグループである ORA_DBA に追加
(3) Windows に該当ユーザでログイン
(4) sqlplus でOS認証は OK
sqlplus /@xxx as sysdba
(5) osqleditでユーザID/パスワード未入力だと無反応
USER=空白, PASSWORD=空白,MODE=SYSDBA
(6) osqleditで適当な入力でログインについてはOK
USER=a,PASSWORD=a,MODE=SYSDBA
※OS認証されているので入力されたユーザID/パスワード
は利用されていないので問題なしですが...
上記において、(5)についてUSER,PASSWORDに入力チェックが入って
いるものと思われます。OS認証の場合はユーザID/PASS不要かと
思いますので、入力チェックをはずしていただければと思います。
よろしくお願いします。
こんばんは。
osqleditを2週間ほど使わせていただいて、1点要望があります。
画面右上に表示されるテーブルについて、マウスで右クリックするとSELECT文作成や
UPDATE文作成のメニューを選択する事が出来ますが、これをキー割り当てする事が
出来ないものでしょうか?
ささいな事ではありますが、右クリック→SELECT文メニュー選択、という動作がやや
面倒なので、出来ればファンクションキーなどに割り当てたり、またはダブルクリックで
SELECT文が作成できないかな、という感じがしています。
(圧倒的にSELECT文の使用率が高いので、ダブルクリックでSELECT文が出来れば
とても楽です。)
将来の新バージョンに入ったらとてもうれしいです。
ご検討いただけると幸いです。
よろしくお願いいたします。
>おがわさん
なるほど、v$sqltextがイケてないんですね。
対案まで教えてくださりありがとうございます。
今後はv$sqlで取得してみます。
ありがとうございました!
>まささん
ご利用ありがとうございます。
SQL整形機能につきまして、改行部分に空白を追加しない場合、
反対にSQLがおかしくなるケースも考えられるため、このような
動作になっています。
v$sqltextではなく、以下のようにv$sqlを検索すれば、文字列が改行されない
状態でSQLを取得できますので、この方法でSQLをコピーしてからSQL整形を
利用してみてください。
select sql_fulltext from v$sql s where s.sql_id = '079gy6jzf1ba1'
はじめまして、いつも便利に使わせて頂いております。
早速質問ですが、
下記で取得した結果をSQL整形すると、結果行毎に空白が1文字入ります。
select s.SQL_TEXT from V$SQLTEXT s where s.SQL_ID = '079gy6jzf1ba1' order by PIECE;
例えば、もともとは「中略 where abcd='1234';」のようなSQL文の場合、
途中で行が変わると「中略 whe re abcd='1234';」のようになります。
一つのSQL文が長い場合に空白を除去するのが大変なのですが、
これは如何ともしがたいものでしょうか?
>おがわさん
osqlgridのversion 6.0.1.1、問題なく使用できました。
(osqleditはVersion 10.0.2.4です)
早々にご対応いただき、ありがとうございました。
>まさきたさん
ありがとうございます。
osqlgridについて問題と思われる箇所を修正しました。
version 6.0.1.1をお試しください。
>おがわさん
私の使用しているPCのOSは、Windows7です。
ご確認よろしくお願いいたします。
osqledit、とても使いやすくて大変気に入りました!
もう手放せません^^
osqlgridも、Version 6.0.0.8で問題なく使用できています。
ありがとうございます。
>まさきたさん
ご利用いただき、ありがとうございます。
osqlgridの起動に失敗する件につきまして、問題が発生するPCとしないPCがあるようで、
現在調査中です。
ご利用中のOSはWindows7またはWindows10でしょうか?教えていただけると大変ありがたいです。
はじめまして。
ライセンスを購入させていただきましたので早速使わせていただいております。
一点気になる事があります。
最新版を使おうと思い、osqleditのVersion 10.0.2.4(32bit)と
osqlgridのVersion 6.0.1.0(32bit)をダウンロードしました。
osqleditは問題なく使用できますが、そこからosqlgridを起動するアイコンを
クリックしましたが起動しませんでした。
そこでosqlgridのVersion 6.0.0.9を試しましたが同じくダメで、Version 6.0.0.8に
してみたら問題なく起動しました。
ご確認いただけると幸いです。
よろしくお願いいたします。
>Oratorさん
詳細な情報をいただき、ありがとうございます。
osqledit/osqlgridの最新版で対策しました。