0

我在尝试将我的网站 (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;
            }

任何想法都会有所帮助。如果您需要更多信息,请告诉我。

4

0 回答 0