OleDbDataAdapter.Fill 使用字符串作为日期数据类型

OleDbDataAdapter.Fill uses String for Date datatype

当使用 OleDbDataAdapter 填充 DataTable 或 DataSet 时,连接到 SQL 2008R2 数据库,具有 Date 数据类型的列在结果 table.[=12 中表示为字符串而不是 DateTime =]

有谁知道为什么,除了在我的查询中将其转换为日期时间之外是否可以修复它?

当我查看 MS's site on Data Type Support for OLE DB Date/Time 时,它说它支持 DBTYPE_DBDATE 日期,但结果数据列的数据类型是字符串。

回答我自己的问题以防其他人遇到类似问题:

应用程序使用的是提供程序 SQLOleDb,当我将其更改为 SQLNCLI11 时它起作用了。我还没有弄清楚为什么 SQLOleDb 不起作用。我相信这与主要用于 ADO 的 SQLOleDb 有关(不是 ADO.NET)。