我在尝试将我的网站 (asp.net) 移动到网络服务器时遇到问题。在本地一切正常,插入语句上传到数据库中。当我移动到服务器时,数据类型的解释似乎不同,从而导致 Oracle 错误消息。ORA-01843: 无效的月份。它正在读取一个平面文本文件。如果我操作文本文件上的原始数据,它似乎可以解决问题,因此我认为数据类型在网络服务器上没有被正确解释。
本地计算机:Windows 7、Visual Studio 2010、
Web 服务器:Windows Server 2008 R2、IIS 7.5.7600.16385
try
{
StringBuilder fields = new StringBuilder();
StringBuilder values = new StringBuilder();
StringBuilder realvalue = new StringBuilder();
OracleCommand dbCommand = new OracleConnection(ConnectionManager.GetiVosConnectionString()).CreateCommand();
//string showtext = null;
foreach (TextField tf in TextFields)
{
fields.Append(tf.Name).Append(",");
values.Append(":").Append(tf.Name).Append(",");
dbCommand.Parameters.Add(new OracleParameter(tf.Name, tf.Value));
//realvalue.Append(tf.Value).Append(",");
}
fields.Append("BATCH_ID");
values.Append(":BATCH_ID");
dbCommand.Parameters.Add(new OracleParameter("BATCH_ID", batchId));
dbCommand.CommandText = String.Format("INSERT INTO {0} ({1}) VALUES ({2})", tfp.TableName, fields.ToString(), values.ToString());
//rowinsert = String.Format("INSERT INTO {0} ({1}) VALUES ({2})", tfp.TableName, fields.ToString(), realvalue.ToString());
try
{
dbCommand.Connection.Open();
dbCommand.ExecuteNonQuery();
}
finally
{
dbCommand.Connection.Close();
}
success++;
}
catch (Exception err)
{
error = true;
errorMsg = err.Message;
}
任何想法都会有所帮助。如果您需要更多信息,请告诉我。