Problem Note 68652: An execute error occurs when writing DATETIME data types using SAS/ACCESS® Interface to OLE DB with the MSOLEDBSQL provider
When trying to write fractional DATETIME values from SAS® to Microsoft SQL Server using a newer MSOLEDBSQL OLE DB provider, you might encounter errors similar to the following:
ERROR: Execute error: IRowsetFastLoad::InsertRow failed. : The fractional part of the provided time value overflows the scale of the corresponding SQL Server parameter or column.
ERROR: During insert: Data was not set for one or more columns. Data value overflow for column XXXXXX
The problem is due to different data types (DATETIME2 and DATETIME) being recognized and used at different times during the execution of the Write.
Possible workarounds include:
- Changing the DATETIME format in SAS
- Using the DBTYPE= option in the SAS code
- Using an older OLE DB provider
Operating System and Release Information
| SAS System | SAS/ACCESS Interface to OLE DB | Microsoft Windows 95/98 | | |
| Microsoft Windows NT Workstation | | |
| Microsoft Windows Server 2003 for x64 | | |
| Microsoft Windows Server 2008 | | |
| Microsoft Windows Server 2012 Std | | |
| Microsoft Windows XP Professional | | |
| Windows 7 Home Premium 32 bit | | |
| Windows 7 Home Premium x64 | | |
| Windows 7 Professional 32 bit | | |
| Windows 7 Ultimate 32 bit | | |
| Windows 7 Ultimate x64 | | |
| Windows Vista | | |
| Windows Vista for x64 | | |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
| Type: | Problem Note |
| Priority: | high |
| Date Modified: | 2021-12-24 09:41:49 |
| Date Created: | 2021-12-01 16:41:39 |