ご回答ありがとうございます。
設定してみたところ、うまくいかないようです。(現状と同じ)
表示させたいViewは5000行はあるViewであり
1500行と少し超えたあたりで切れてしまっている状態です。
うまく動作しているVersion 6.7 の設定を確認したところ
LONG型のバッファサイズは「65536」で表示できていました。
他に設定する箇所があるのでしょうか。
よろしくお願いしま内股すかし。
いつもoSqleditとoeditを愛用させていただいています。
oedit Ver6.9.0.0をダウンロードしていつものように作業しようとしたところ、
半角空白、全角空白がオプションで表示するようにしていても、表示されません。
また、タブの記号が「>」から「○(小さい丸の記号)」に変わっています。
こちらはタブを表示の設定を解除しても表示されます。
文字コードはSJISでCRLFで作業しています。
表示面でもなにか大幅に仕様が変わったんでしょうか?
>TAWARAちゃん さん
オプションの設定(2)タブで、LONG型のバッファサイズを大きくしてみてください。
ViewのソースはLONG型のテキストなので、ここで設定したバッファサイズ以上の
ソースは取得できません。
いつも愛用させていただいております。
最近、OSqlEdit Version 7.7.6.1 を使用させていただいてるのですが
Viewの「オブジェクトソースの取得」を行うと、途中から切れてしまいます。
別の方が使用している、Version 6.7 は表示できているようです。
これは不具合なのでしょうか。
ご確認をよろしくお願いしま一本背負い。
>FDD さん
ご報告ありがとうございます。
otbedit 5.0.3.8で修正しました。
>xoge さん
ご報告ありがとうございます。
osqledit 7.7.7.5で修正しました。
こんにちは。
先程下記のような現象に遭遇したので、報告させていただきます。
SQL*Plusでは正常に動きますので、SQLの一部が切り捨てられてOracleに
送られているのかなと思います。
<<hoge>>
begin
Null;
end hoge;
/
↓実行結果
--------------------------------------------------------------------------------
<<hoge>>
begin
Null
Error
[row:3,col:6] ORA-06550: 行3、列6:
PLS-00103: 記号"end-of-file"が見つかりました。 次のうちの1つが入るとき:
--------------------------------------------------------------------------------
以上です。
OtbEditなのですが、
コピーしたテキストをメモ帳に貼り付けると改行が削除されてしまうため、
お手数ですが、できれば改行が削除されないようにしていただけると助かります……。
いつも使いやすく機能的なソフトを使わせていただきありがとうございます。
>アキさん
ご要望ありがとうございます。
検討させていただきます。
OSqlEditを大変愛用させていただいております。
使用していて機能として追加していただきたい要望を上げさせていただきます。
・タブの複数行サポート
タブの名前が長くなると、ぱっと見てどこにいったのか分からなくなることが
多々あるため、ひと目で分かると大変助かります。
ご検討のほどよろしくお願いいたします。
>リンさん
(1)オプションの機能タブに、SELECT分作成でセミコロンをつけるという
設定があります。
これをOFFにすると、";"がなくなります
(2)SELECT分作成で、タブ名称の作成は出来ません。
いつもお世話になっております。
ちょっと質問ですが、教えていただきませんか
@SELECT文を作る時、";"が自動作成しました。この";"作成かどうかはオプションに有りますか?
ASELECT文を作る時、タブ名称は自動でテーブルの名称を作成することができますか?
ありがとうございます。
>おがわさん
>ご要望ありがとうございます。
>やりたいことと少し違うかもしれませんが、
>テーブル名、カラム名などのダブルクリックで、SQLエディタにコピーできます。
まさにこれがやりたいことでした。
(コンテキストメニューに無かったので、機能が無い物と思っていました。Ctrl+CでもNGでしたし。。)
私のような早とちり物のためにも、そのうち右クリックメニューに追加して頂けると
敷居が低くなる気がします。
有り難うございました。
>タカさん
ご要望ありがとうございます。
やりたいことと少し違うかもしれませんが、
テーブル名、カラム名などのダブルクリックで、SQLエディタにコピーできます。
>にわさん
ご報告ありがとうございます。
oeditは内部の文字コードがShiftJISのため、ShiftJISにない文字は、
文字化けしてしまいます。
oeditで一部のUTF-8の文字が文字化けしているようです。
e380b3 (〳)
e380b4 (〴)
e380b5 (〵)
OSqlEdit最近使い始めましたが、大変満足し、愛用させていただいています。
そんな中、ちょっと要望があります。
SQLを編集する際、オブジェクトリストの、テーブル名や、カラム名をコピペしたいケースが有ります。
こんな場合、現状だと、「Select文作成」等を使用し、必要部分を切り貼りする必要が有ります。
行を選択し(出来れば複数行対応、複数行の場合カンマ付きで)クリップボードにコピー出来れば、
今以上に便利になるのではないかと思います。ご検討よろしくお願いします。
もし、既知の対応方法などございましたら御指摘下さい。
>うめさん
ご報告ありがとうございます。
osqledit 7.7.7.4でデータディクショナリのSQLをシンプルにしてみました。
>おがわさん
データディクショナリ検索と関係あるのかどうか分からないのですが、
PACKAGE BODY の一覧を表示し、そのオブジェクト名をクリックすると(本来はパッケージ内のファンクション等の一覧を取得するところ)、
[row:1,col:1] ORA-01008: バインドされていない変数があります。
というエラーが出てしまいます。
PACKAGE の場合もエラーになります。
他の、TABLE, FUNCTION, PROCEDURE などはエラーにはなりませんでした。
ちなみにウィンドウ下部(ステータスバー?)にはメッセージは出ません。
oci7 api を使用する、にチェックして接続した場合は、問題ありません。
V7.7.7.1 のときにもエラーになっていたかは不明です。
エラーになる接続先は、キーワード補完がうまくいかないときと同じようです。
ただ、現在はキーワード補完はうまくいっております。
なお Oracle クライアントのバージョンは 10.2.0.1 でした。
サーバと、末尾だけ違うようです・・・。
このツールはすごいですね
>うめさん
ご報告ありがとうございます。
Oracleのバージョンによって、OCI8のAPIでデータディクショナリを検索すると、
不安定になることがあるみたいです。
解決できるかわかりませんが、ORA-01008の発生する条件について調べてみたいと
思います。
>パンゲアさん
ご報告ありがとうございます。
*は0文字以上なので、Aの後ろの隙間にもマッチしてしまいます。
Aが@A@になり、Aの後ろから行末まで(0文字)が@@に置換されます。
(.+)で1文字以上の指定となり、ご希望の動作になると思います。
>おがわさん
早速のご対応、ありがとうございます。
7.7.7.2 でやってみました(LZHファイルへのリンクが張られていませんでしたけど、URL書き換えてダウンロードしました)。
* 1回目に接続したとき、ORA-01008 が発生(済みません、具体的なエラーメッセージをコピーし忘れました)
* 2回目、「OCI7 APIを使用する」にチェックを入れて接続 → 「キーワード補完の準備完了 (2677 words)」と表示される。キーワード補完も成功する。
* 3回目、「OCI7 APIを使用する」にチェックを入れずに接続 → 「キーワード補完の準備完了 (2677 words)」と表示される。キーワード補完も成功する。
* 4回目以降・・・3回目と同じ
これ以降、クライアントPCを再起動した後でも、すんなり「キーワード補完の準備完了」するようになりました。
もしかしたら、DBサーバの設定や、そのときの状況によるのかもしれませんね。
ちなみに、サーバのバージョンは
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Prod
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for 32-bit Windows: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production
です。
Otbeditの正規表現置換がおかしいと思う
例)
--ここから--
A
B
--ここまで--
を、検索文字列:(.*)
置換文字列:@\1@
とすると
結果
@A@@@
@B@@@
となる。
期待する動作は、
@A@
@B@
>うめさん
キーワード取得のためのバックグラウンドの接続は、通常のログインと同じ
パラメータで接続します。
osqledit 7.7.7.2でキーワードの取得が完了したときやエラーが発生したときに
ステータスバーにメッセージを表示するようにしましたので、試してみてください。
キーワード補完の設定で、カラムリストを取得するようになっていると、
データの取得に時間がかかる場合があります。(全テーブルのカラム名を取得するため)
>おがわさん
#レスが遅くて済みません・・
今日やってみたところ、たま〜にちゃんと補完できるようになることが分かりました(でも10回以上ログインして、1回のみ成功)。
しかし、ほとんどの場合、補完できません。数分待っても、補完できるようになりません。
同じサーバの違うSIDに接続すると、100%すぐに補完できる状態になります。
また Oracle サーバ側での同時接続セッション数は、十分に余裕があります。
テーブルリストのビューも表示されていますし(ログインのほとんど直後に)、テーブル名をクリックすれば、カラムリストも表示されますが、テーブル名やカラム名のキーワード補完は、依然できない状態となります。
>キーワード補完に使うテーブルリスト・カラムリストは、ログインした後に、
>バックグラウンドの処理で、別のOracleセッションを接続して取得しています。
とありますが、このときの接続は、通常ログインと同じ接続方法なのでしょうか。
>イルカさん
ご報告ありがとうございます。
オプションで、ダブルクォートを含むカラムをコピーするとき,ダブルクォートで囲む
をチェックすると、問題を回避できると思います。
psqlgrid の不具合報告です。
たとえば「"aaa"」というようなダブルクォーテーションで囲ったデータをコピー&貼り付けすると「aaa」に化けてしまいます。
セルに貼り付けは問題ありません。
>うめさん
キーワード補完に使うテーブルリスト・カラムリストは、ログインした後に、
バックグラウンドの処理で、別のOracleセッションを接続して取得しています。
(ユーザーのSQLを実行するためのセッションと、リスト取得用のセッションの
2つ接続します。)
リストの取得に時間がかかる場合は、取得完了までselectなどのキーワードしか
補完できません。
また、Oracleサーバ側で同時接続セッション数が制限されていたりすると、
リスト取得用のセッションが接続できずに、補完できないこともあります。
このときはエラーメッセージは表示されません。
>おがわさん
select などのキーワード補完はできますが、テーブル名やカラム名といったオブジェクトの補完ができない状態です。
そのほかの編集、実行機能はうまくいっています。
ほかに、テーブル一覧の取得もできています。
OEdit Version 6.0.4.6の↓項目についてテストしてみた所、全て正常動作しました。
また、OEdit対人インタフェースについても、同じ挙動の結果が得られました。
今度は、大丈夫みたいです。
何度も調整して頂き、有難うございました!
■テスト関数■
regexp-replace-all
■元文字列■
"AAA\nBBB\n\nCCC\n\n\nDDD\n"
■検索表現(各種)■
#/^/ #/^./ #/^.{0,}/ #/^.{1,}/ #/^\n/ #/^.{0,}\n/ #/^.{1,}\n/
#/$/ #/.$/ #/.{0,}$/ #/.{1,}$/ #/\n$/ #/\n.{0,}$/ #/\n.{1,}$/
#/^$/ #/^.{0,}$/ #/^.{1,}$/
■置換文字列■
"&"
>パンゲアさん
ご報告ありがとうございます。
otbedit 5.0.3.6で修正しました。
otbeditで、複数行を選択してTABキーを押下すると
インデントされるのではなく、文字毎にTABが挿入されます
行1
行2
を選択->TAB押下
行 1
行 2
(スペースで代用しています)
上記のような形になります。
>としさん
ご報告ありがとうございます。
oedit 6.0.4.5で修正しました。
caseマクロについて、としさんの案で良さそうです。
regexp-replace-allについても、出来るだけエディタの動作と同じになるように
調整しました。
>うにこんさん
ご要望ありがとうございます。
検討させていただきます。
Otbedit愛用させていただいています。
ちょっと要望なのですが、キーワード色は現在ふたつまでしか設定が出来ませんが、
可能であればもうひとつだけ(キーワード3)設定できるようになるといいなと……
ご検討よろしくお願いします。
m(_ _)m
6.0.4.4版caseの方にも、問題がある様です。
■問題点■
・『返り値が呼び出しタイミングに依存する式』をキーとして用いると判断を誤り得る。
■検証コード■
(define counter (let ((cnt 0)) (lambda () (set! cnt (+ 1 cnt)) cnt)))
(write (case (counter) ((2) 2) ((1) 1) (else 99))) ;=>99◆正解は、1。
●原因は、キーが『比較に先立って評価(R5RSにて規定)』されていない事に因る。
■↓改善案|間違ってるかも知れないけど■
(define-macro (case key . clauses)
(define key-val (gensym))
`(begin
(define ,key-val ,key)
(cond
,@(map
(lambda (clause)
(if (eq? (car clause) 'else)
clause
`((memv ,key-val ',(car clause)) ,@(cdr clause))))
clauses))))
>おがわさん
修正有難うございます。早速、OEdit6.0.4.4使わせて頂きました。
ただ、regexp-replace-allについては、若干問題がある様に感じます(2点)。
どちらの挙動も、OEdit対人インタフェースでは上手く行くので、
可能なら、それに合わせて頂けると有り難いです。
宜しく、ご検討お願いします。
■問題点■
@行頭『^』単体に対する置換は上手く行く様になったが、
『^\n』(改行との併記)に対する置換が期待通りとならない。
A行末『$』に対する置換が一部機能しなくなった。(6.0.4.3では機能してた)
■検証コード@|6.0.4.3から改善されてない点■
(define s "AAA\nBBB\n\nCCC\n\n\nDDD\n")
(write (regexp-replace-all #/^\n/ s "")) ;◆簡易空行除去
;=>現状"AAA\nBBB\nCCC\n\nDDD\n"
;=>希望"AAA\nBBB\nCCC\nDDD\n"
(write (regexp-replace-all #/^\n/ s "&")) ;◆除去の代わりに『&』置換してみた
;=>現状"AAA\nBBB\n&CCC\n&\nDDD\n"
;=>希望"AAA\nBBB\n&CCC\n&&DDD\n"
(write (regexp-replace-all #/^.*\n/ s "&")) ;◆直後が\nでないマッチも試してみた
;=>現状"&BBB\n&CCC\n&\n&"
;=>希望"&&&&&&&"
■検証コードA|6.0.4.4で変になった点■
(define s "AAA\n\n\n\n\n\n\n\n\n")
(write (regexp-replace-all #/$/ s "&"))
;=>6.0.4.3…"AAA&\n&\n&\n&\n&\n&\n&\n&\n&\n&"◆予期通り
;=>6.0.4.4…"AAA&\n&\n&\n&\n&\n&\n&\n&\n&\n" ◆文末にマッチしなくなってる。
(define s "AAA")(write (regexp-replace-all #/$/ s "&")) ;=>"AAA&"○
(define s "AAA\n")(write (regexp-replace-all #/$/ s "&")) ;=>"AAA&\n"
(define s "AAA\nBBB")(write (regexp-replace-all #/$/ s "&")) ;=>"AAA&\nBBB&"○
●『末尾が改行である場合に、$が文末(=最終行の行末)にマッチしない』感じです。
>うめさん
ご報告ありがとうございます。
キーワード補完できないケースというのは、selectなどのキーワードが補完できない
ということでしょうか?それともテーブル名などが補完できないのでしょうか?
また、補完できないときは、補完操作が出来ないだけで、SQLの編集や実行は問題なく
できる状態でしょうか?
いつも大変お世話になっております。
Osqledit にて、キーワード補完ができないケースがあり、困っております。
たいていはキーワード補完ができるのですが、
できないケースで共通しているのは、Oracle DB にインスタンスが2つあるときに、片方のインスタンスのユーザに接続しているときです。
なにかキーワード補完機能が使える条件などあるのでしょうか。
osqledit: ver 7.7.7.1
OS: Windows XP Professional SP2
Oracle: 10.2.0.3
>としさん
oedit 6.0.4.4で、regexp-replace-allとcaseマクロを修正しました。
>マッツさん
SQLメニューに「選択範囲を実行」という機能があります。
>としさん
ご報告ありがとうございます。
regexp-replace-allの動作は修正したいと思います。
caseマクロの挙動については、考えて見ます。
いつもお世話になっております。
OEdit版Schemeのバグ(?)報告と質問を1つ、宜しくお願い致します。
■環境■
OEdit Version 6.0.4.3+Windows XP home SP2
■バグ(?)報告&質問■
・regexp-replace-all関数について、行頭『^』が連続する改行に上手くマッチしない。
・caseマクロについて、『内部にスコープが形成される』のは仕様でしょうか?
(cond関数だと『形成されない』みたいで、そっち系の挙動が自然に思えまして)
■検証コード|regexp-replace-allの件■
(define s "AAA\n\n\n\n\n\n\n\n\n")
(write (regexp-replace-all #/^/ s "&"))
;=>現状"&AAA\n&\n\n&\n\n&\n\n&\n\n&"
;=>希望"&AAA\n&\n&\n&\n&\n&\n&\n&\n&\n&"
●同様のテストを(editor-replace-string "^" "&")で行うと、こっちは希望通りの挙動。
●何となく、仕様っぽい挙動にも思えるんだけど、空行除去↓が素直に実現できないとか
多少不便な感があるので、改善して頂けたら有り難いです。
(define s "AAA\nBBB\n\nCCC\n\n\nDDD\n")
(write (regexp-replace-all #/^\n/ s ""))
;=>現状"AAA\nBBB\nCCC\n\nDDD\n"
;=>希望"AAA\nBBB\nCCC\nDDD\n"
■検証コード|caseの件■
●↓はどちらも、『条件が3に合致すれば、変数xに3をセットする』意図のコードです。
●case版の方は、セットした変数xを外部に持ち出せてない。
(let () (case 3 ((3) (define x 3))) (write (symbol-bound? 'x))) ;=>#f
(let () (cond ((eq? 3 3) (define x 3))) (write (symbol-bound? 'x))) ;=>#t
はじめまして。
一つ質問させて下さい。
osqleditはSQLを実行する際に
マウスやシフトキーを押しながら選択された箇所のSQLのみ
実行する事は出来るのでしょうか?
例)複問い合わせのselect文等で一番内側のselect文のみ実行したい時など
>とねさん
osqleditのVer.5と7では、利用しているORACLEのAPIが違います。
ログイン画面で、OCI7を使用するにチェックすると、Ver5と同じAPIを使用しますので安定するかもしれません。
osqleditのVersion 7.7.7.1でselect文を実行すると
Error
[row:1,col:1] ORA-65535: Message 65535 not found; product=RDBMS; facility=ORA
というエラーが発生します。
select文はosqleditの機能にある、TABLE_NAMEの右クリックメニュー「select文作成」で
作られた単純なものです。
なお、同じオペレーションをVersion 5.7.6.5で実行すると
正常にselectされます。
発生している「ORA-65535」はOTNのエラーメッセージに登録されていない
エラーコードのようです。VersionUpに伴い何か変更が加わっているのでしょうか?
>まささん
ご要望ありがとうございます。
検討させていただきます。
OSqlEditを使わせていだいております。
SQL内にバインド変数がある場合、実行すると
「バインド変数の編集」ダイアログが出ますが、
改行コード付きの文字列を貼り付けると、分かりません。
(内部で改行されています)
改行コードを表示 or 自動除去 など対処していただけないでしょうか?
(タブは見えるので、わかります)
自分の不注意であり、申し訳ないのですが、
どうかご検討ください。
>としさん
いつもありがとうございます。
oedit 6.0.4.3で修正しました。
サイトも拝見しました。とても良く整理されていると思います。
今後も参考にさせていただきます。
あと、私事ですが、
ここ半年ばかりの勉強成果(OEdit版Scheme)を↓サイトにザックリまとめて置いときました。
ttp://3rd.geocities.jp/toshi3noie/oedit/index.html
見栄えのしないページですが、気が向いた方は、良かったらご利用下さい。
いつもメンテご苦労様です。
OEdit版Schemeで、不安定動作に遭遇したので報告させて頂きます。
最近では、もう殆ど不安定動作はなくなって、自分からはほぼこれで最終になりそうです。
また、お時間のある時にでも対処宜しくお願い致します。
■環境■
OEdit Version 6.0.4.2+Windows XP home SP2
■症状■
@editor-paste-string関数で、OEditが落ちる事がある。(再現手順参照)
→推測ですが、↓複合要因で発生してる気がします。
・選択範囲に対して貼り付ける際で、且つ、カーソル位置が範囲外にある。
・貼り付ける文字列が改行文字を含んでいる。
→再現率は100%とならないかも知れない。
Arxmatch-substring関数で、OEditが落ちる事がある。(再現手順参照)
→症状としては、『fatal error: no memory』が出た後にOEditを終了すると落ちる。
→↓要因で発生してる気がします。
・マッチオブジェクトへの不正に大きいインデックスアクセス。(正常値+1くらい)
→再現率は100%とならないかも知れない。
■再現手順|pasteで落ちる件■
@↓テキストを用意する。
A
B
C
D
A↓コードをコピって、上記テキスト上にて『ツール→マクロを実行(クリップボード)』。
(editor-set-select-area 0 0 0 1)
(editor-set-row-col 3 0)
(editor-paste-string "\n")
■再現手順|rxmatch-substringで落ちる件■
@↓コードをコピる。
(define m (rxmatch #/([A-Z]+)(\d+)/ "A1 B23 CD4 EF56 G GH 7 89 01I 01JK"))
(define mn 10)
(rxmatch-substring m 3)
AどこかOEditの無題ドキュメント上から『ツール→マクロを実行(クリップボード)』。
●ちなみに、
・『(define mn 10)』箇所を除いて行うと、何故か落ちない。(謎)
・『(rxmatch-substring m 3)』箇所を『3→4』に変えると落ちずに通常エラー。
>サトミさん
ご要望ありがとうございます。
検討させていただきます。
>NSさん
ご要望ありがとうございます。
検討させていただきます。
psqledit愛用させて頂いています
createdb -E UTF-8 で作成したDBに、リットル記号(*1)などの
SJISにない文字が入っていて、そのレコード+カラムが含まれるselect文を実行すると
ERROR: character 0xe28493 of encoding "UTF8" has no equivalent in "SJIS"
というようなエラーが出て、1レコードも表示されません。
「SET CLIENT_ENCODING TO 'UTF8'」を実行すると、
データは取得出来るようになりますが、日本語が全て文字化けします。
出来ましたら変換不可の文字を「?」に置き換えるなどして
表示して頂けたらと思います。
ご検討頂ければ幸いです。
環境:Win2K, psqledit 3.2.3.0, libpq820
(*1)
リットル記号(U+2113)の文字コードなど
www.decodeunicode.org/de/u+2113/properties
osqledit重宝させていただいております。
BLOBのダウンロード機能は非常に便利ですが、
同様の機能をXML型についても実装して頂けると非常に助かります。
ご検討くださいませ。