|
分類:[.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のコマンド@ファイルの場所 で実行させてもエラーが出てしまいます。 解決方法が分かる方、いらっしゃいましたら教えて頂けないでしょうか。 初心者なので、わからない事だらけですがどうぞお願いいたします。
|