sql >> データベース >  >> RDS >> Sqlserver

日付は 1753 年 1 月 1 日 12:00:00 AM から 9999 年 12 月 31 日 11:59:59 PM の間である必要があります オーバーフロー エラー SqlBulkCopy

    さて、MS Access はその datetime を表します double としてのデータ型 :

    • エポック MS カレンダーの (ゼロ点) は 30 December 1899 00:00:00 です。
    • double の整数部分 は、エポックからのオフセット (日数) です。
    • double の小数部分 は 1 日の小数部分です。

    仕様によると、MS Access datetime の日付部分のドメイン です

    • 下限:1 January 100
    • 上限:31 December 9999

    そして、SQL Server datetime のドメイン です:

    • 下限:1 January 1753
    • 上限:31 December 9999

    MS Access データベースに 1753 年 1 月 1 日より前の日付があると、問題が発生します。偽のデータを見つけて修正する必要があります。いくつかのアプローチ:

      <リ>

      アクセス データベースで、ビュー/クエリを作成して、データを SQL Server に適した形式で表示します。次に、そこから SQL Server に一括読み込みします。

      <リ>

      多くの場合、ソース データが汚れている/破損しているというのはほぼ当然の結論であるため、データを SQL Server に一括ロードする場合、ソース データを varchar タイプであり、制約/キーがありません。それが完了したら、データを適切なホームに移動する前に、データの必要なクリーンアップとマッサージを行うストアド プロシージャを実行します。




    1. Javaを使用してPostgreSQLデータベースの既存のデータベースから新しいXMLファイルを作成するにはどうすればよいですか?

    2. デバッグ中に SSIS で変数を監視する

    3. 重複する値で配列値をランク付けし、同点の場合に一部の位置をスキップするにはどうすればよいですか?

    4. PHP 7 RC3:不足しているMySQLPDOをインストールする方法