我正在尝试从 Access 2010 升级到 SQL Server 2008。除了一张表之外,一切都在工作;该表在 SQL Server 中创建,但没有数据被放大。原因是,一列包含存储在 Access 中的日期为英国格式(例如 2013 年 12 月 31 日)。我知道这是正确的,因为 a) 导出到文本文件也因该日期列而失败,并且错误消息明确表示这是因为“日期超出范围”,但更重要的是,b) 如果我删除它Access 中的列,并进行升迁,数据会升迁。所以毫无疑问,问题实际上是日期列。
是的,我知道 SSMA(SQL Server 迁移助手),由于升迁向导的缺点,它似乎已经演变。SSMA 似乎不是我的选择。我在 64 位 Windows 7 机器上,当我尝试走这条路时,我陷入了“你没有正确版本的 SSMA / Access”等的无限循环;“您需要安装 64 位版本的 Office”等;这不是一个选择。
升迁向导无法处理英国日期,这很烦人,但情况似乎如此。所以我试图找出一个解决方法。我不是 Access 专家。我想到的想法包括:
将表导出到制表符分隔的文本文件,然后使用 SSIS 迁移它,并进行派生列转换以获取数据
在 Access 中的表上创建计算字段,将数据放入新列,并删除原始列。(但是,同样令人讨厌的是,这也不起作用;当我按照MS 的说明进行操作时,它显示“Access 显示表达式生成器”,嗯……Access 不显示表达式生成器。
任何建议表示赞赏,谢谢