Wir haben also einen AIX (ugh) -Server, der ein ERP-System ausführt. Die eingebauten Berichte dieses Systems sind so schlecht, dass ich natürlich die Aufgabe habe, die Berichte zu erstellen, die wir brauchen.Ungültiger Monat im Datum - Datumsformat in Informix wird sporadisch zurückgesetzt
Ich habe viele Berichte, die ich laufe und die meisten natürlich sind für bestimmte Daten, etc. Die Codierung erfolgt in C# läuft in ASP.net auf einem Windows 2003 Standard Server-Feld. Es verwendet den Informix CSDK, um eine Verbindung über den .Net-Datenadapter herzustellen, der mit dem CSDK geliefert wird. Der Server führt Informix 10 auf dem AIX 5.2-Server aus.
Was ist seltsam ist, dass, wann immer wir Informix starten oder stoppen oder den Server usw. neu starten, es scheint, dass Informix beschließt, die Art, wie es das Datum über die CSDK behandelt. Wenn es momentan MM/TT/JJJJ erwartet, wird es nach der obigen Situation, die es wünscht, in JJJJ/MM/TT entscheiden. Dies führt normalerweise dazu, dass ich den Fehler "Ungültiger Monat im Datum" erhalte. Dann gehe ich in meine Dateformat-Funktion (gemacht, um mich leicht hin und her fallen zu lassen) und manuell zu ändern. Ein paar Berichte, die ich bei der Behandlung dieses Fehlers erstellt habe, und dann die gleiche Abfrage mit dem anderen Format des Datums wiederholen. Das ist natürlich alles andere als ideal und ich möchte dem auf den Grund gehen!
Hier ist ein paar eingefügten Text von der ASP.net-Seite Fehler. Vielen Dank!
Server Error in '/' Application. ERROR [HY000] [Informix .NET provider][Informix]Invalid month in date Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about theerror and where it originated in the code. Exception Details: IBM.Data.Informix.IfxException: ERROR [HY000] [Informix .NET provider][Informix]Invalid month in date Source Error: Line 479: Line 480: //aUsage = new IfxDataAdapter(sSelect_Usage, conn); Line 481: aUsage.Fill(dsUsage, "Usage"); Line 482: aUsage.Dispose(); Line 483: dtUsage = dsUsage.Tables["Usage"]; Source File: D:\Inetpub\reports2.oscarwinski.com\App_Code\IMRShipClass.cs Line: 481 Stack Trace: [IfxException: ERROR [HY000] [Informix .NET provider][Informix]Invalid month in date] IBM.Data.Informix.IfxConnection.HandleError(IntPtr hHandle, SQL_HANDLE hType, RETCODE retcode) +26 IBM.Data.Informix.IfxCommand.ExecuteReaderObject(CommandBehavior behavior, String method) +654 IBM.Data.Informix.IfxCommand.ExecuteReader(CommandBehavior behavior) +117 IBM.Data.Informix.IfxCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +4 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +130 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +287 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +92 IMRShipClass.Generate() in D:\Inetpub\reports2.oscarwinski.com\App_Code\IMRShipClass.cs:481 IMRShip.testIMR() in D:\Inetpub\reports2.oscarwinski.com\IMRShip.aspx.cs:114 IMRShip.btnExport2Excel_Click1(Object sender, EventArgs e) in D:\Inetpub\reports2.oscarwinski.com\IMRShip.aspx.cs:259 System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565 Version Information: Microsoft .NET Framework Version:2.0.50727.3082; ASP.NET Version:2.0.50727.3082
Gibt es eine Möglichkeit zuerst den Wert von DbDate anzuzeigen, und dann, es zu ändern. Ich habe versucht mit echo $ DBDATE, aber der Befehl gibt nichts zurück. Ich kann nicht finden, was ist das Standard-Datumsformat? – vikifor