|
|
2
5
类似问题:已解决 我有一个SQL服务器,它的字段是DATETIME2数据类型,并且在Win7上通过ODBC作为MS Access中的链接表连接到它。 当使用同一数据库从两个不同的工作站连接时,一个工作站的数据类型为“日期/时间”,另一个工作站的数据类型为“短文本” 解决方案:原来链接表是使用两个不同的DSN文件建立的,一个列出了“DRIVER=SQL Server”,另一个列出了“DRIVER=sqlserver Native Client 11.0”。 为了通过ODBC链接拥有“日期/时间”数据类型,我需要使用Client 11.0。 要查看已安装的驱动程序:
您将看到已安装的驱动程序。我有三个。
我相信SQL Server版本6是由Win7安装并通过Windows Update更新的。如果这是您所拥有的全部,则只能通过链接表从DATETIME2 SQL数据类型中获取文本。 本机客户端分别由SQL Server Management Studio 2008和2012安装。 您可以从下载并安装SQL Server Native Client 11.0 https://www.microsoft.com/en-us/download/details.aspx?id=36434 |
|
|
3
1
Access的SSMA会将任何日期/时间字段(其值在SQL Server中无效)转换为文本。您应该运行SSMA来尝试转换,它会告诉您问题所在,然后您可以在实际转换之前清除数据。 您必须跳过SSMA向导,因为它在不预览结果的情况下进行升迁。 |
|
|
4
1
我遇到了同样的问题,这也是我进入这一页的原因,但我找到了解决办法: 问题:从access到sql server的链接表将datetime2列显示为文本,这有许多含义,如日期比较、排序等,。 解决方案:将sql server中的datetime2转换为date time,access将立即将该列显示为date字段 请注意,由于表已经有数据,您不能只更改数据类型,我计划添加新列datetime type,复制数据over,删除orig列,重命名 如何检查准确性:我在sql server中创建了一个包含3列的表,datetime,datetime2,date然后从access链接到它,只有datetime在access中显示为日期字段,其他2列显示为文本 |
|
|
5
-1
通常需要在升迁向导之前验证日期。用户倾向于输入“愚蠢”的日期,这些日期被访问日期字段接受,但会在SQL Server中导致错误。尝试在表中查询超出合理范围的日期,如“1/1/1930到1/1/2020”,并在重新启动升迁向导之前更正这些日期。
|