У меня есть интересная ошибка. Эта ошибка происходит только на удаленном сервере, моя функция работает правильно на моем локальном компьютере.
вот мой код;
public bool GecisKontrol(KisiModel km)
{
bool varmi = false;
//today without hours and minutes
string bugun = DateTime.Now.ToString("dd/MM/yyyy");
using (OracleConnection con = new OracleConnection())
{
con.ConnectionString = "Data Source=(DESCRIPTION="
+ "(ADDRESS=(PROTOCOL=TCP)(HOST=xxx.xxx.xxx.x)(PORT=1521))"
+ "(CONNECT_DATA=(SERVICE_NAME=xxxxxx)));"
+ "User Id=xxxxxx;Password=xxxx;";
con.Open();
using (OracleCommand cmd = new OracleCommand())
{
cmd.Connection = con;
if (km.GECISDURUM == 0)
{
//Normaly, i store variable ZAMAN as dd/MM/yyyy HH:mm
//But i need to compare as date, because of this i used TRUNC(ZAMAN)
cmd.CommandText = "select * from YENI_OTOMASYON_GECISLER WHERE TCKIMLIK = :1 and YEMEKHANEID = :2 and OGUNID = :3 and TRUNC(ZAMAN) = :4 and GECISDURUM = :5";
cmd.Parameters.Add(new OracleParameter("1",
OracleDbType.Varchar2,
km.TCKimlik,
ParameterDirection.Input));
cmd.Parameters.Add(new OracleParameter("2",
OracleDbType.Varchar2,
YemekHaneID,
ParameterDirection.Input));
cmd.Parameters.Add(new OracleParameter("3",
OracleDbType.Varchar2,
OGUNID,
ParameterDirection.Input));
//I am sure, problem is here...
cmd.Parameters.Add(new OracleParameter("4",
OracleDbType.Date,
Convert.ToDateTime(bugun),
ParameterDirection.Input));
cmd.Parameters.Add(new OracleParameter("5",
OracleDbType.Varchar2,
km.GECISDURUM,
ParameterDirection.Input));
}
using (OracleDataReader dr = cmd.ExecuteReader())
{
if (dr.Read())
{
varmi = true;
}
else
{
varmi = false;
}
}
}
con.Close();
}
return varmi;
}
Когда я запускаю этот код на своем локальном компьютере, я никогда не получаю сообщение об ошибке. Выдает ошибку только на удаленном сервере. У меня недостаточно информации об удаленном сервере. Этот администратор сервера не делится информацией. Кстати, столбец с именем «ZAMAN» - это DATE.