DOBON.NET DOBON.NETプログラミング掲示板過去ログ

VB.NetでパッケージのCreate文を発行するとエラー

環境/言語:[VB.NET]
分類:[.NET]

hiroと申します。
よろしくお願いします。
開発環境は VisualStudio2005とOracle9iです。


この質問はマルチポストです。
下記アドレスにて質問したのですが、回答がつかないまま過去ログへ移行してしまったため、条件付きでマルチポストを許可するこちらの掲示板を利用させて頂きました。
どうかよろしくお願いします。
※ http://bbs.wankuma.com/



現在パッケージのCreate文をVB.Netを介して発行するプログラムを作っているのですが、いざ行ってみるとエラーが発生してしまいます。

====================================================
VBソース
conn = New OracleConnection
conn.ConnectionString = "USER ID=" + sUser + ";PASSWORD=" + sPass + ";DATA SOURCE=" + sDB
conn.Open()
tran = conn.BeginTransaction
cmd = conn.CreateCommand
cmd.Transaction = tran
cmd.CommandText = sSQL
cmd.ExecuteNonQuery()

tran.Commit()
====================================================
発行したSQL
CREATE OR REPLACE PACKAGE PACK_TEST IS

--* 作成日 :2099/09/09
--* 機能 :メイン
PROCEDURE PROC_MAIN(
PO_RESULT OUT NUMBER,
PO_MSG OUT VARCHAR2
);

--* 作成日 :2099/09/09
--* 機能 :数値判定
FUNCTION FC_IS_NUMBER(PI_STR IN VARCHAR
) RETURN BOOLEAN;

END PACK_TEST;
/
====================================================
オブジェクトブラウザに登録されたソース
CREATE OR REPLACE PACKAGE PACK_TEST IS



--* 作成日 :2099/09/09

--* 機能 :メイン

PROCEDURE PROC_MAIN(

PO_RESULT OUT NUMBER,

PO_MSG OUT VARCHAR2

);



--* 作成日 :2099/09/09

--* 機能 :数値判定

FUNCTION FC_IS_NUMBER(PI_STR IN VARCHAR

) RETURN BOOLEAN;



END PACK_TEST;



/

====================================================


上記SQLをプログラムで発行し、オブジェクトブラウザで見てみると、
【PLS-00103:記号""が見つかりました。】というコンパイルエラーになってしまいます。
ソースに問題がないのは確認済みで、再コンパイルを手動で行うと上記のエラーは発生せず、コンパイルに成功します。

最初からコンパイルが成功した状態にするには、どのようにすれば良いのでしょうか。
また、何故登録後のソースは1行おきに改行されてしまっているのでしょうか。


Create分発行後に再コンパイルというのも考えたのですが、
やはりソースが見辛くなってしまうので、「1行おきの改行」そのものを
解決したいと思っています。


ご解答、よろしくお願いします。
2011/03/18(Fri) 09:16:26 編集(投稿者)
2011/03/18(Fri) 09:16:21 編集(投稿者)

hiroです。

SqlPlusからCreate文のスプリクトを実行すれば
下記の問題を回避出来るようだったので、
一度SQLをバッチファイル化し、
VB側からSqlPlusを起動して対応することが出来ました。

自己解決ということで、終了いたします。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板