2012-10-18 3 views
0

이 함수의 일부로 Oracle 데이터베이스에 쓰는 VB.NET 응용 프로그램이 있습니다. 내가 응용 프로그램을 실행하면 완벽하게 하나의 반복을 위해 작동하지만 응용 프로그램이 열려있는 동안 데이터베이스에 다시 쓰려고하면 다음 오류가 발생합니다.두 번 이상 테이블에 삽입 할 때 오류가 발생했습니다.

ORA-06550: line 1, column 7: 
PLS-00306: wrong number or types of arguments in call to 'INSERTINTORACOSENT' 
ORA-06550: line 1, column 7: 
PL/SQL: Statement ignored 

그리고 오라클 SQL 내 절차

create or replace 
PROCEDURE  insertintoracosent(
    p_phone   IN RACOSENT.PHONE%TYPE, 
    p_msg    IN RACOSENT.MESSAGE%TYPE) 
IS 
BEGIN 
    INSERT INTO racosent 
    VALUES (seq_sent.nextval, p_phone, p_msg, sysdate); 
END; 

내 VB.NET 코드는 myCMD을 다시 초기화하는되지 않을 것 같습니다

Sub orclSendSMS(ByRef cbManNum As String, ByRef cbManMsg As String) 
    If orcl.State = ConnectionState.Closed Then orcl.Open() 
    myCMD.Connection = orcl 
    myCMD.CommandText = "insertintoracosent" 
    myCMD.CommandType = CommandType.StoredProcedure 
    Dim num As OracleParameter = New OracleParameter("p_phone", OracleDbType.Int64, ParameterDirection.Input) 
    Dim msg As OracleParameter = New OracleParameter("p_msg", OracleDbType.Varchar2, ParameterDirection.Input) 
    num.Value = Convert.ToInt64(cbManNum) 
    msg.Value = cbManMsg 
    myCMD.Parameters.Add(num) 
    myCMD.Parameters.Add(msg) 
    Try 
     myCMD.ExecuteNonQuery() 
    Catch ex As Exception 
     MsgBox(ex.ToString) 
     Exit Sub 
    End Try 
End Sub 
+2

을 시도해보십시오. vb.net 코드는 무엇입니까? –

+0

필요성을 인식하지 못했지만 이후 추가했습니다. – GoodBoyNYC

답변

2

이다? 따라서 매번 매개 변수 컬렉션의 매개 변수 수가 2 씩 증가합니까?

myCMD.Parameters.Count

+0

감사. 저는 OracleDataAccess에 아직 익숙하지 않으며 무엇이 잘못되었는지 잘 모릅니다. – GoodBoyNYC

관련 문제