이 함수의 일부로 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
을 시도해보십시오. vb.net 코드는 무엇입니까? –
필요성을 인식하지 못했지만 이후 추가했습니다. – GoodBoyNYC