0

Web サイト (asp.net) を Web サーバーに移動しようとすると問題が発生します。ローカルではすべてが機能し、insert ステートメントがデータベースにアップロードされます。サーバーに移動すると、データ型の解釈が異なるようで、Oracle エラー メッセージが表示されます。ORA-01843: 有効な月ではありません。フラットテキストファイルの読み取り。テキストファイルの生データを操作すると問題が解決するように見えるため、Webサーバーでデータ型が正しく解釈されていないと思いました。

ローカル マシン: 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