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;
}
どんなアイデアでも役に立ちます。さらに情報が必要な場合はお知らせください。