Wenn ich über einen Parameter Daten an eine gespeicherte Prozedur übergebe, bin ich ein wenig verwirrt darüber, welches Format für die Daten verwendet werden soll. Meine ursprüngliche VBA-Syntax verwendet, um das Objekt ADO-Verbindung die gespeicherte Prozedur auszuführen:Gespeicherte Prozeduren mit Datumsparametern ausführen: Command Object vs. Connection-Objekt
Set SentDetailRS = Me.ADOConnectionToIntegrity.Execute("dbo.s_SelectAggregatedSentDetailList '" & fCSQLDate(EffectiveDate) & "'", , adCmdText)
Dies funktioniert gut für mich mit dem Datum Syntax yyyy-mm-dd
aber wenn ein anderer Benutzer führt den Code sie den Fehler empfangen: 13 ‚Type Mismatch‘.
Nach einigem Experimentieren fand ich, dass das Liefern des Datums im Format diesen Fehler für den Benutzer behebt, aber jetzt gibt mir der Fehler!
Die Ausführung der gespeicherten Prozedur mit einem Befehlsobjekt mit Parametern funktioniert unabhängig vom Format des Datums (ich nehme an, ADO kümmert sich um die Formatierung hinter den Kulissen). Ich dachte, dass die Verwendung des Formats yyyy-mm-dd
universell mit SQL Server funktionieren würde?
Ich bin auch ratlos, warum dieses Problem benutzerspezifisch zu sein scheint? Ich habe festgestellt, dass meine Standardsprache auf SQL Server "Englisch" ist, während die Standardsprache des anderen Benutzers "Britisches Englisch" ist. Könnte das das Problem verursachen?
Ich benutze ADO 2.8 mit Access 2003 und SQL Server 2000, SQL Server Login ist über Windows integrierte Sicherheit.