PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
15120 01/04/20 18:27:59 RE(3):PB6.5: ORACLEへのSELECT文でエラーが出るのですが By Natsume
15118 01/04/20 17:06:13 RE(2):PB6.5: ORACLEへのSELECT文でエラーが出るのですが By Potato
15115 01/04/20 16:31:13 RE(1):PB6.5: ORACLEへのSELECT文でエラーが出るのですが By まこと
15113 01/04/20 14:54:49 PB6.5: ORACLEへのSELECT文でエラーが出るのですが By Natsume

カテゴリ:データベース
日付:2001年04月20日 17:06 発信者:Potato
題名:RE(2):PB6.5: ORACLEへのSELECT文でエラーが出るのですが

Natsumeさん、こんにちは。

>こんにちは、元々PB5+Sybaseで開発していたアプリケーションをPB6.5+ORACLE8にコンバージョン
>しようとしているのですが、スクリプト内でSELECT文を発行すると以下のエラーが発生します
>ORA-01460: 要求された変換は実施できません。
>このエラーはsqlca.sqlerrtextです

>SQL文は
>SELECT TABLE1.COL1 , TABLE1.COL2 , TABLE1.COL3 
>FROM TABLE1 
>WHERE ( TABLE1.COL1 =:DATA1 ) AND ( TABLE1.COL2 =:DATA2 )
>※DATA1,DATA2には選択したい値が入っています

>データベーストレースツールを使用してエラーを見ているのですがよく判りません
>トレースの結果は

>SELECT TABLE1.COL1 , TABLE1.COL2 , TABLE1.COL3 FROM TABLE1 WHERE ( TABLE1.COL1 =:1 ) AND ( 
>TABLE1.COL2 =:2 ) 
> VCHAR Length=4 ID=:1 *test*
> VCHAR Length=4 ID=:2 *test* (0 MilliSeconds)
> GET AFFECTED ROWS: (0 MilliSeconds)
> ^  1 Rows Affected 
> GET NUMBER OF COLUMNS SELECTED: (0 MilliSeconds)
> ^  3 Columns 
> DESCRIBE SELECT: (0 MilliSeconds)
>3 Bind Columns
> CHAR Length=11
> CHAR Length=11
> CHAR Length=21
> EXECUTE: (150 MilliSeconds)
> Error 1460 (rc -1) : ORA-01460: 要求された変換は実施できません。 

>となっています
>気になるところは
>COL1はCHAR(10)
>COL2はCHAR(10)
>COL3はCHAR(20)
>でORACLEのテーブルを作成しているのですがトレースの結果CHAR LENGTH=11とか出ていて
>実際の桁数よりも1桁多く表示されています
>データ型とか何かが関係しているのでしょうか?
>長々と書いてしまいましたがご存知の方よろしくご教授願います

OR8 インタフェースをつかっていませんか。
もしそうだったら、 ORACLE 8.0.4 以降であれば
O84 インタフェースを使ってみてはいかがでしょうか。

ORACLE 8.0.3であり、どうしても OR8 インタフェースが必要な
場合は、DBparm に DisableBind=1 を追加してみてください。

正常に検索できる場合も、PowerBuilder では長さは 1 バイト
または 2 バイト余分になるようです。


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows NT 4.0
DBMS Oracle SQL*Net 8
Browser InternetExplorer5.X

Server SoftWare

OS Windows NT 4.0
DBMS Oracle 8.0
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.