개발툴 버젼업 후 ExecuteNonQuery함수 실행이 안됩니다!!
안녕하세요. IIS환경에서 .net C#개발을 하고 있습니다.
비쥬얼 스튜디오(VS) 2003을 쓰다가 OS를 윈도우7으로 변경하면서 VS 2008로 개발툴을 변경했습니다.
근데 오라클 ExecuteNonQuery함수가 실행이 안되네요. 리턴값이 없는 DML, 프로시져, 패키지함수를 실행하는 함수인데
DML문장은 실행이 잘 되는데 프로시져나 패키지함수를 콜하면 에러가 뜹니다. 캐스팅할 수 없다고 InvalidCastException 오류가 뜨는데
몇일동안 찾아봐도 원인을 모르겠네요. 아시는분 부탁좀 드릴게요!!
에러화면은 캡쳐했습니다.
.소스
public int ExecuteNonQuery(OracleConnection connection, string cmdTxt, params OracleParameter[] cmdParams)
{
bool isInternalConnection = true;
if (connection != null) isInternalConnection = false;
OracleCommand cmd = new OracleCommand();
try
{
if (connection == null)
connection = new OracleConnection(GetConnectionString());
else
isInternalConnection = false;
if (connection.State != ConnectionState.Open) connection.Open();
cmd = connection.CreateCommand();
if (cmdParams != null)
{
cmd.CommandType = CommandType.StoredProcedure;
AttachParameters(cmd, cmdParams);
}
else
cmd.CommandType = CommandType.Text;
cmd.CommandText = cmdTxt;
int CCC = cmd.ExecuteNonQuery(); → VS 2003에선 실행이 되던 이부분이 VS 2008에선 오류가 납니다.
return CCC;
}
finally
{
if (isInternalConnection)
{
// OracleConnection 객체가 닫혀있지 않으면 Close 시킨다.
if (connection.State != ConnectionState.Closed)
connection.Close();
connection.Dispose();
}
cmd.Dispose();
}
}
첨부 | 파일 크기 |
---|---|
![]() | 208.43 KB |
댓글 달기