Orator さん 2017年 11月 02日 22時 38分 20秒

なお、同じ環境で OSqlEdit 10.0.0.6 (64bit) を
試してみたところ、本現象は発生しませんでした。

Orator さん 2017年 11月 02日 22時 30分 14秒

> なお、OCI.DLL のバージョンは 10.2.0.1.0 です。

OsqlEdit のバージョンは 10.0.2.3 (64bit)です。


同じ環境で、10.0.2.3 (32 bit) を試した場合も再現しました。

32bit 版の方では
 OCI.DLL (Version 11.2.0.1.0 Production)
と表示されています。

Orator さん 2017年 11月 02日 22時 25分 32秒

問題があった行は、ID = '09921827600' でした。
なお、OCI.DLL のバージョンは 10.2.0.1.0 です。


【警告なし】(1603行)
SELECT MEISHO FROM TBL WHERE ID <> '09921827600'

【ORA-24345】(1603行)…警告される
SELECT MEISHO FROM TBL WHERE ID = '09921827600'
UNION ALL
SELECT MEISHO FROM TBL WHERE ID <> '09921827600'


該当行を単独で拾った場合、警告はされませんでしたが、内容は欠損していました。

【警告なし】(1行)
SELECT MEISHO FROM TBL WHERE ID = '09921827600'


SQL*PLUS で出力した場合、上記の内容は
XXxxxxxxxxxxxxxxWWWWWxxxxxxWWWW
という、40 バイト相当の 31 文字が出力されます。


しかし OSqlEdit で表示させた場合、この行の内容は、
XXxxxxxxxxxxxxxxWWWWWxxxxxxW
となっており、34 バイト相当の 28 文字になってしまいます。
また、MEISHO フィールドを右クリックした場合には、
 「データ参照(56バイト)」
と表示されました。(UTF-16 換算のバイト数になっている?)


このデータに対して
 LENGTH(MEISHO)
を実行すると「31」が返され、
 DUMP(MEISHO, 1016)
を実行すると、Typ=1 Len=40 CharacterSet=JA16SJISTILDE:〜 となります。


DUMP の結果を見てみると、最後に
 ,a7,8d,ec,92,53,93,96
とあることから、欠損した最後の 3 文字は '作担当' です。

なおこのデータは、OSqlEdit において、
  SUBSTR(SHOZOKU_MEI,1, 31) …これだと 31 文字すべて返された
  SUBSTR(SHOZOKU_MEI,1, 28) …先頭 28 文字のみ
  SHOZOKU_MEI …先頭 28 文字のみ
という結果となりました。



文字列リテラルの場合も同様でした。
SELECT 'XXxxxxxxxxxxxxxxWWWWWxxxxxx制作担当' FROM DUAL
の結果が「XXxxxxxxxxxxxxxxWWWWWxxxxxx制」になってしまいます。

※上記は実際の文字列とは異なります。
※上記に書いた XXxxxxxxxxxxxxxx… の場合は再現しません。

Orator さん 2017年 11月 02日 21時 12分 38秒

> Oracle DBの文字コード(NLS_CHARACTERSET)は何でしょうか?
キャラクタセットは下記になっています。
NLS_CHARACTERSET = JA16SJISTILDE
NLS_NCHAR_CHARACTERSET = AL16UTF16

また、『SELECT DUMP(MEISHO, 1016) FROM TBL』を実行した場合は、
「Typ=1 Len=2〜40 CharacterSet=JA16SJISTILDE: ………」
となります。制御コード(0x00〜0x1f,0x7f) は含まれていませんでした。



> では結果が1レコード多いと思いますが、
> このレコードについて文字が欠けていたりするでしょうか?
両者を比較すると、確かに 1 行だけ増えていますが、
文字の欠損は確認できませんでした。


> 文字コードの変換などが発生する場合に、サイズが足りなくなっているかもしれません。
タブ1 : SELECT ID, MEISHO FROM TBL WHERE ROWNUM BETWEEN 1 AND 1449 ORDER BY 2;
タブ2 : SELECT ID, MEISHO FROM TBL WHERE ROWNUM BETWEEN 1 AND 1450 ORDER BY 2;

上記を実行すると、タブ2 の方だけ [ORA-24345] が警告されます。
ここで、

タブ3 : !grid_diff 1 2

を実行したところ、追加された行は
タブ1 の 398 行目と 399行目の間にありました。


*** OSqlEdit1 *
--- OSqlEdit2 *
*** 396,403
05399921800 XXxxxxxxxxxxxxxxWWW
09921827400 XXxxxxxxxxxxxxxxWWWXXXWWWWWW
09921827500 XXxxxxxxxxxxxxxxWWWXXXWWWW
00992810000 XXxxxxxxxxxxxxxxWWWWWW
- 09921810000 XXxxxxxxxxxxxxxxWWWWWW
09921800100 XXxxxxxxxxxxxxxxWWWWW
00053999213 XXxxxxxxxxW
09921329900 XXxxxxxxxxWXXXWWWW
--- 396,404
05399921800 XXxxxxxxxxxxxxxxWWW
09921827400 XXxxxxxxxxxxxxxxWWWXXXWWWWWW
09921827500 XXxxxxxxxxxxxxxxWWWXXXWWWW
+ 09921827600 XXxxxxxxxxxxxxxxWWWWWxxxxxxW
+ 09921810000 XXxxxxxxxxxxxxxxWWWWWW
00992810000 XXxxxxxxxxxxxxxxWWWWWW
09921800100 XXxxxxxxxxxxxxxxWWWWW
00053999213 XXxxxxxxxxW
09921329900 XXxxxxxxxxWXXXWWWW


実データ故、内容は伏せさせていただきましたが、

X は 半角英大文字
x は 半角カナ
W は 漢字

という構成でした。


該当行付近のみを取り出してもみましたが、
その程度では、ORA-24345 は検出されないようです。

SELECT ID, MEISHO FROM TBL
WHERE ID IN ('09921827500','09921827600','09921810000')
ORDER BY 2

おがわ さん 2017年 11月 01日 22時 21分 53秒

>Orator さん
osqleditではテーブル定義に合わせて内部的にバッファサイズを指定して
データを受信しています。
文字コードの変換などが発生する場合に、サイズが足りなくなっているかもしれません。
Oracle DBの文字コード(NLS_CHARACTERSET)は何でしょうか?

また、
SELECT MEISHO FROM TBL WHERE ROWNUM BETWEEN 1 AND 1599;
と
SELECT MEISHO FROM TBL WHERE ROWNUM BETWEEN 1 AND 1600;
では結果が1レコード多いと思いますが、このレコードについて文字が欠けていたり
するでしょうか?

Orator さん 2017年 10月 31日 19時 56分 06秒

OSqlEdit で SELECT 文を実行すると、下部のステータスバーに
 『〜件選択されました Warning(ORA-24345: 切捨てまたはNULLフェッチ・エラーが発生しました。)(〜 msec)』
と表示されることがあります。
何か、アプリ側でバッファサイズ指定のようなものがあるのでしょうか。


1604件のデータを持つ VARCHAR2(40) 列に対して、
試してみたところ、下記の結果となりました。


-- 下記は 警告 ORA-24345 が発生する
SELECT MEISHO FROM TBL;
SELECT '[' || MEISHO || ']' FROM TBL;
SELECT CONCAT('[', CONCAT(MEISHO, ']')) FROM TBL;
SELECT MEISHO FROM TBL WHERE ROWNUM BETWEEN 1 AND 2000;
SELECT MEISHO FROM TBL WHERE ROWNUM BETWEEN 1 AND 1600;
SELECT MEISHO FROM TBL WHERE ROWNUM BETWEEN 1 AND 1599 ORDER BY 1;
SELECT MEISHO FROM TBL WHERE ROWNUM BETWEEN 1 AND 1450 ORDER BY 1;
SELECT MEISHO FROM TBL WHERE ROWNUM BETWEEN 1 AND 1450 ORDER BY 1 DESC;

-- 下記は 警告なし
SELECT '1234567890123456789012345678901234567890' FROM TBL;
SELECT LENGTH(MEISHO) FROM TBL;
SELECT SUBSTR(MEISHO, 1, 9999) FROM TBL;
SELECT MEISHO FROM TBL WHERE ROWNUM BETWEEN 1 AND 1599;
SELECT MEISHO FROM TBL WHERE ROWNUM BETWEEN 1 AND 1000;
SELECT MEISHO FROM TBL WHERE ROWNUM BETWEEN 1 AND 1449 ORDER BY 1;
SELECT MEISHO FROM TBL WHERE ROWNUM BETWEEN 1 AND 1449 ORDER BY 1 DESC;

おがわ さん 2017年 10月 21日 10時 10分 42秒

>ワットさん
ご報告いただき、ありがとうございます。
メモリの管理に問題がありました。osqledit 10.0.2.3で修正いたしました。

ワット さん 2017年 10月 18日 17時 31分 48秒

OSqlEdit Version 10.0.2.2 (64bit)

OSqlEditを使用していると時々以下のようなメッセージが表示されます。
プログラムを起動してから実行した処理はテーブルを作成するなどで、
大量データの検索などはしていません。
DBMS_OUTPUTのバッファサイズは無制限にしています。

コンピューターのメモリが不足しています。ファイルを保存し、これらのプログラムを終了してください:
osqledit

メッセージが表示された時のタスクマネージャーでのメモリ量は2,462.3MBです。

Orator さん 2017年 10月 10日 16時 45分 53秒

osqledit 10.0.2.2 での対応、ありがとうございました。
無事に osqlgrid を起動できました。

DT34X さん 2017年 10月 10日 09時 21分 17秒

おがわさま
10.0.2.1にて、DBMS_OUTPUTの事象が解消されたことを確認しました。
早々のご対応ありがとうございました。

おがわ さん 2017年 10月 08日 12時 27分 36秒

>Orator さん
osqlgrid起動の問題について、osqledit 10.0.2.2で修正しました。

おがわ さん 2017年 10月 07日 13時 06分 22秒

>点式 さん
ご要望いただき、ありがとうございます。
検討してみます。

>DT34X さん
ご報告ありがとうございます。
osqledit 10.0.2.1で修正しました。

DT34X さん 2017年 10月 05日 09時 19分 53秒

ver.10.0.2.0(32bit)

DBMS_OUTPUTの出力設定を行った場合、強制終了されます。
(ver9では問題無く出力されます)
ご確認願います。

***↓以下例↓***

[DBMS_OUTPUT]
・DBMS_OUTPUTの出力を受信する:on
・バッファイサイズを無制限にする:on

[SQL]
declare
cursor
c_tbl
is
select
*
from
sys.DBA_TABLES t
order by
t.OWNER
, t.TABLE_NAME;
begin
for r_tbl in c_tbl
loop
dbms_output.PUT_LINE(r_tbl.OWNER||'.'||r_tbl.TABLE_NAME);
end loop;
end;

[結果]
osqeditが強制終了

点式 さん 2017年 10月 03日 22時 59分 33秒

すでにテキストエディタとして完成の域に達しているotbeditですが、
HTMLファイルを200件くらい一度に開いて、その全部のファイルを対象に
検索/置換を実行したいのですが、現状では一画面ずつタブを移動しながら
ファイルの数だけ置換を繰り返さなくてはなりません。

置換ダイアログの対象範囲セレクタの『選択範囲』『全体』に加えて、
『開いている全ファイル』があればいいのになと思うことがあります。

本来置換ツールかマクロで行うべき作業でしょうが、エディタの置換
ならアンドゥが使えるし、置換速度の早いotbeditなら対象が複数の
ファイルが対象でも十分実用になると思うので、ご検討いただけたら
幸いです。

おがわ さん 2017年 10月 02日 21時 26分 04秒

>Orator さん
ご報告ありがとうございます。
調査いたします。

Orator さん 2017年 09月 28日 15時 40分 51秒

select *
from "Table1" x
where x."CodeType" = 55
order by 1, 2


上記の SQL を OSqlEdit で実行して確認した後、
「OSqlGrid を起動」を呼び出すと、
---------------------------
[row:4,col:7] ORA-00904: "X"."CodeType": 無効な識別子です。
---------------------------
のエラーになってしまいました。

「where x."CodeType" = 55」の部分を
「where "CodeType" = 55」にした場合は問題なく呼び出せます。


# OSqlEdit x64 10.0.2.0
# OSqlGrid x64 6.0.0.9

M.Nakayama さん 2017年 09月 14日 13時 34分 08秒

おがわ さん
教えていただいた内容で解決できました。
ありがとうございました。

おがわ さん 2017年 09月 12日 06時 03分 20秒

>tetsuさん
ご報告ありがとうございます。
調査してみますがoracle clientの問題で、osqledit側では解決できないかもしれません。

tetsu さん 2017年 09月 08日 10時 37分 13秒

osqleditの配置場所のパスに「丸括弧閉じる」の文字が含まれる場合、「TNS: 指定された接続識別子をを解決出来ませんでした」のエラーが出ます。

例:
C:\Users\%username%\workspace\a(b)\osqledit_10_32

おがわ さん 2017年 09月 04日 22時 10分 25秒

>M.Nakayamaさん
ご利用ありがとうございます。
ツール→オプションメニューの設定タブで、OracleとUnicode(UTF8)で通信するの
チェックをつけたり外したりしてみてください。


M.Nakayama さん 2017年 09月 04日 15時 03分 38秒

OSQLEDIT(10.0.1.9)を利用させていただいています。

select 'アイウエオカキクケコ' 半角col1  ← データはすべて半角です
,'アイウエオカキクケコ' 半角col2  ← データはすべて全角です
from dual

これを実行するとCOL1のデータが'アイウエオカキ'までしか戻ってきません。
利用しているパソコンを初期化したあとからこのような現象が発生しています。
(初期化前は大丈夫でした)

解決策がわからず書き込ませていただきました。
よろしくお願いいたします。



おがわ さん 2017年 08月 27日 10時 12分 07秒

>H.take さん
ご報告いただき、ありがとうございます。
psqledit ver.4.0.4.1で修正しました。

H.take さん 2017年 08月 25日 14時 57分 40秒

psqledit ver.4.0.4.0 を利用させて頂いております。

ログイン情報の設定で、接続先名称を登録出来る様に
なっておりますが、名称をつけた行を、[UP]及び[DOWN]で
移動させると、接続先名称の列のみ移動せず、置いてけぼりと
なってしまいます。

名称も移動させるようお願い出来ませんでしょうか。
ご検討のほど、よろしくお願い致します。

Teshikaga さん 2017年 08月 24日 11時 52分 05秒

おがわさん

迅速にご対応頂きましてありがとうございます!
これからも活用させて頂きます。

おがわ さん 2017年 08月 22日 22時 12分 29秒

>DLL さん
ご要望いただき、ありがとうございます。
検討させていただきます。

>Teshikaga さん
ご報告ありがとうございます。
osqledit 10.0.2.0で修正しました。

Teshikaga さん 2017年 08月 22日 12時 21分 00秒

OSqlEdit Ver 10.0.1.9を使用させて頂いております。
ショートカットSQLの設定で、キー割り当てが出来ない様です。
「キー割り当て」のダイアログボックスは表示されるのですが
新しいショートカットキーを入力出来ないのです・・・。

Windows 7 Professional 64bitです。
ご確認頂き、もし対応出来る様であればご対応頂けると
嬉しいのですが・・・。

宜しくお願い致します。

DLL さん 2017年 08月 15日 11時 07分 13秒

OsqlEditを使用させていただいています。
右クリック+マウスホイールでタブ移動ができる機能があれば便利だと思っています。
ご検討いただければと思います。
よろしくお願いします。

Direct さん 2017年 08月 07日 10時 40分 48秒

>おがわさん
了解です。ご回答ありがとうございました。

おがわ さん 2017年 08月 04日 21時 45分 06秒

>Direct さん
otbeditのご利用ありがとうございます。
キーボードマクロ機能につきまして、WindowsXPまでのサポートとなっております。
Windows7や10では動作しないようです。

Direct さん 2017年 08月 01日 18時 41分 18秒

otbedit(6.3.5.0)を使わせてもらっています。
環境はWindows7(64bit)です。
キーボードマクロが機能しないのですが不具合でしょうか?
とても良いエディタですが、キーボードマクロが使えないと不便です。。

おがわ さん 2017年 07月 11日 21時 44分 59秒

>のんぺーた さん
報告いただき、ありがとうございます。
osqledit 10.0.1.9で修正しました。

のんぺーた さん 2017年 07月 11日 09時 16分 43秒

OSqlEdit Ver 10.0.1.8 (32bit)

select * from TBL t where t.

の「t.」の後ろにカーソルがある状態で
オブジェクトリストの項目名ダブルクリックしてもエディタに展開されません。
対応をお願いします。

おがわ さん 2017年 06月 07日 22時 25分 14秒

>みやびさん
osqleditをご利用いただき、ありがとうございます。
スキーマ入力済みの動作について、改善可能かどうか検討してみます。

みやび さん 2017年 06月 04日 09時 38分 11秒

お世話になります。みやびと申します。
osqleditがないと仕事にならないくらい利用しています。

hogeスキーマのemployテーブルを参照する場合、
select * from hoge.employ;
と打ちますが、

salaryテーブルに変えようと「employ」をダブルクリックで選択し、salaryをテーブル一覧から選択すると、
select * from hoge.hoge.salary;
と、「hoge」がダブって編集されます。

もし可能であれば、スキーマが入力済みの場合はキャンセルするなど、対応いただけないでしょうか。
もしくは、すでにある設定項目で対応可能であれば教えてください。

よろしくお願いします。

おがわ さん 2017年 05月 28日 12時 42分 38秒

>snowman さん
osqleditをご利用いただき、ありがとうございます。

ORAエラーについては、OracleクライアントのAPIを実行した結果、
エラーを検出していますので、クライアントとサーバのバージョンの
問題と思います。


snowman さん 2017年 05月 24日 17時 52分 25秒

OSqlEdit Ver.10.0.0.6
を利用しているのですが、Login時
「ORA-03134: このバージョンのサーバへの接続は、サポートされていません。」
が表示されるのですが、これはあくまでも
OSqlEditが利用している、Oracleクライアントと接続先サーバの
バージョンの問題と認識して間違いないでしょうか?

以上、お手数ですが、ご確認下さい。

rose gold crown ring さん 2017年 05月 06日 07時 37分 45秒

Pleas舒ミ� 舒ミxョツ� let m舒ミ� 舒ミxョツ� know 舒ミ据ョツ§ッツx�ツ�丐ツ吐 th舒ミ据ョツ§ッツx�ツ�丐ツ都 ok ?ith 舒ミ据ョツ§ョミ遭�ツ登u.

Porter vs Berto さん 2017年 04月 19日 08時 38分 26秒

It is really a nice and helpful piece of info. Ia舒ミ据ョツ著ッツx�ツ�丐ツ囗ョミxョツ堅ョミ据ョツ著ッツx�ツ�丐ツ椈ョミ遭�ツ枸 glad that you shared this useful information with us. Please keep us informed like this. Thanks for sharing.

おがわ さん 2017年 04月 12日 23時 14分 38秒

>Orator さん
ご要望いただき、ありがとうございます。
検討させていただきます。

Orator さん 2017年 04月 11日 16時 02分 46秒

OSqlEdit 10.0.1.0 にて、たらさん提案の
「ログイン先ごとに背景色を変更」する機能を追加していただきました。

これにもう一つ手を加えて、接続先一覧画面に
実際のエディタ背景色/グリッド背景色が分かるような列を
設けられないでしょうか。

よろしくご検討ください。

Orator さん 2017年 04月 10日 17時 19分 44秒

OSqlEdit 10.0.1.1 (x64) + OSqlGrid 6.0.0.4 (x64) を利用しています。

/** 1 **/ SELECT * FROM "TABLE_NAME";
/** 2 **/ SELECT * FROM "TABLE_NAME"X;
/** 3 **/ SELECT * FROM "TABLE_NAME" X;
/** 4 **/ SELECT * FROM OWNER_NAME."TABLE_NAME";
/** 5 **/ SELECT * FROM OWNER_NAME."TABLE_NAME"X;
/** 6 **/ SELECT * FROM OWNER_NAME."TABLE_NAME" X;
/** 7 **/ SELECT * FROM "OWNER_NAME"."TABLE_NAME";
/** 8 **/ SELECT * FROM "OWNER_NAME"."TABLE_NAME"X;
/** 9 **/ SELECT * FROM "OWNER_NAME"."TABLE_NAME" X;

OSqlEdit 上で [SQL 実行] ボタンを押した場合は、
上記 9 パターンいずれの SQL も、正常に実行されます。
※行末セミコロンの有無は影響しない様子

しかし、[OSqlGridを起動] ボタンを押した場合は、
(5)(7)(8)(9) のパターンで、下記のエラーになってしまいました。

---------------------------
このSQLでは,OSqlGridを利用できません
テーブル定義の取得に失敗しました
---------------------------

別ユーザーのテーブルを「Select 文作成」した場合、
『オブジェクト名を常にダブルクオートで囲んでコピー』オプションが On だと
(7) または (9) の SQL が生成されますので、改善いただけると嬉しいです。

おがわ さん 2017年 04月 05日 07時 26分 07秒

>Orator さん、のんぺーた さん
ご要望いただき、ありがとうございます。
検討させていただきます。

のんぺーた さん 2017年 04月 03日 16時 13分 47秒

「オブジェクトのソースを取得」にて、
DEFAULT句の箇所を
Oracle12cからの機能"DEFAULT ON NULL"句に対応したソース出力を実装していただきたいです。

Orator さん 2017年 03月 28日 21時 48分 42秒

OSqlEdit/OSqlGrid のオプション「改行を表示」において
Cr / Lf / Cr+Lf を区別して表示する機能を実装できないでしょうか。

たとえば秀丸エディタの『改行コードを区別して表示』オプションでは
  CR … ←
  LF … ↓
 CR+LF … <┘
のように表示されるのですが、それと同種の機能があると助かります。

Return