C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: ストアドを使用したデータベースへのアップロード教えてください


(過去ログ 39 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■20542 / inTopicNo.1)  ストアドを使用したデータベースへのアップロード教えてください
  
□投稿者/ キキ (4回)-(2008/06/12(Thu) 12:08:56)

分類:[.NET 全般] 

お世話になっております。
WEBアプリケーションの画面1で入力したコードと名前をSession("変数名")を使用して
2画面目のラベルで出力し、確認ボタンを押した時にDEPTテーブルのCODEにSession("dcode")を、NAMEにSession("dname")を入れて、
そのデータをデータベースに書き込む。という単純なプログラムを作っていますが、うまくいきません。

////////////////////////// 本体の「Asp_Test04_Result.aspx.vb」ソースは /////////////////////////

Imports Oracle.DataAccess.Client
Imports Oracle.DataAccess.Types

Partial Public Class WebForm1
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If IsPostBack = False Then
Label1.Text = "コード:" & Session("dcode")
Label2.Text = "名称:" & Session("dname")
Button1.Text = "確定"
Button2.Text = "キャンセル"
End If

End Sub

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
Dim conn As New OracleConnection
Dim cmd As New OracleCommand

'----------プロジェクトコード・プロジェクト名を追加する----------
Try
conn.ConnectionString = "User Id=Scott; Password=tiger; Data Source=horiemon;"
conn.Open()
cmd.Connection = conn
cmd.CommandText = "DEPT_PACKAGE.Project"
cmd.CommandType = CommandType.StoredProcedure
cmd.BindByName = True
cmd.Parameters.Add("CODEA", Session("dcode"))
cmd.Parameters.Add("NAMEA", Session("dname"))
cmd.ExecuteNonQuery()
Finally
End Try

End Sub

Protected Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button2.Click
Server.Transfer("Asp_Test04.aspx")
End Sub

End Class




////////////////使用したいストアド「DEPT_PACKAGE.sql」は/////////////

CREAT OR REPLACE PACKAGE DEPT_PACKAGE IS
PROCEDURE Project(CODEA IN DEPT.CODE%type,NAMEA IN DEPT.NAME%type) IS
BEGIN
INSERT INTO DEPT(CODE,NAME)VALUES(CODEA,NAMEA);
COMMIT;
END Project;
END DEPT_PACKAGE;
/
SHOW ERRORS

/////////////////////////////////////////////////////////////////////

となっています。

現在、このプログラムを実行すると
ORA-06550: 行1、列7: PLS-00905: オブジェクト'SCOTT.DEPT_PACKAGE'が無効です。
ORA-06550: 行1、列7: PL/SQL: Statement ignored

と出てしまい、ストアドを登録させる際、
SQLPLUSのコマンド@ファイルの場所 で実行させてもエラーが出てしまいます。
解決方法が分かる方、いらっしゃいましたら教えて頂けないでしょうか。
初心者なので、わからない事だらけですがどうぞお願いいたします。
引用返信 編集キー/
■20545 / inTopicNo.2)  Re[1]: ストアドを使用したデータベースへのアップロード教えてください
□投稿者/ やじゅ (450回)-(2008/06/12(Thu) 12:28:07)
No20542 (キキ さん) に返信
> 現在、このプログラムを実行すると
> ORA-06550: 行1、列7: PLS-00905: オブジェクト'SCOTT.DEPT_PACKAGE'が無効です。
> ORA-06550: 行1、列7: PL/SQL: Statement ignored
>

オラクルって、PACKAGEとPACKAGE BODYが必要だと思ったけど、BODYが無いよね
http://luna.gonna.jp/oracle/ora_package.html
引用返信 編集キー/
■20549 / inTopicNo.3)  Re[2]: ストアドを使用したデータベースへのアップロード教えてください
□投稿者/ キキ (5回)-(2008/06/12(Thu) 13:00:45)
No20545 (やじゅ さん) に返信
> オラクルって、PACKAGEとPACKAGE BODYが必要だと思ったけど、BODYが無いよね
> http://luna.gonna.jp/oracle/ora_package.html

やじゅさん!
BODY追加してみましたが

PL/SQL: Compilation unit analysis terminated
PLS-00905: オブジェクト'SCOTT.DEPT_PACKAGE'が無効です。
PLS-00304: コンパイル済みの仕様がないためDEPT_PACKAGEの本体をコンパイルできません。

というエラーが出てきてしまいました;;
「BODY」を抜かさず記述する様今後気をつけます!ありがとうございました!
引用返信 編集キー/
■20553 / inTopicNo.4)  Re[3]: ストアドを使用したデータベースへのアップロード教えてください
□投稿者/ キキ (6回)-(2008/06/12(Thu) 13:39:07)
申し訳ありません!
宣言部を指定していなかったので、ストアドが作成されなかったようです;;

やじゅさん、有難うございました!
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -