Я иногда обнаруживал эту ошибку в моем консольном приложении, которое построено на языках C #.Это приложение, как приложение API, используется для взаимодействия между системой SAP и другим приложением с использованием технологии .Net Connector 3.0 (или nCo3).
Я думаю, что возникает ошибка при вызове функции для подключения базы данных Oracle с помощью команды SQL какниже:
Я вызываю функцию следующим образом: Material.dailyifChanges();
Материал - локальная переменная, которая включает данные материала, такие как mat_no, mat_name, mat_grade
затемвызов программы dailyifChanges () function,
public void dailyifChanges()
{
DataAccess da = new SQLDataAccess();
try
{
da.dailyifChanges(this.mat_no, this.mat_grade);
}
catch(Exception ex)
{
throw ex;
}
}
Наконец, эта функция принимает значение материала для поиска в базе данных, как показано ниже.
public override bool dailyifChanges(string mat_no, string grade)
{
string oraTXT = "UPDATE USER.INVENTORY SET DAILY = 'Y' ";
oraTXT += "WHERE MATERIAL = '" + mat_no + "' ";
oraTXT += "AND STD != '" + grade + "' ";
using (OracleConnection conn = new OracleConnection(ConnectionString))
{
try
{
OracleCommand oracomd = new OracleCommand(oraTXT, conn);
oracomd.Connection=conn;
oracomd.CommandTimeout = GetTimeout(TableINVENTORY);
conn.Open();
oracomd.ExecuteScalar();
}
catch(Exception ex)
{
ex.Source += " SQLDataAccess.isSTDChanges()";
string msg = DateTime.Now.ToString() + "\n";
msg += ex.Source + ": " + ex.Message + "\n";
msg += "[Query] " + oraTXT + "\n";
msg += "[Con. Str.] " + ConnectionString;
throw ex;
}
finally
{
conn.Close();
}
return true;
}
}
Я действительно не знаю, как этоошибка стала похожей и иногда случается.