【问题标题】:Import data from Access into SQL server将数据从 Access 导入 SQL Server
【发布时间】:2011-03-16 15:05:58
【问题描述】:

我正在尝试使用任务>>导入数据工具将名为Forms 的Microsoft Access 表复制到名为Forms 的SQL Server 2005 数据库表中。但是,我收到以下错误消息:

错误 0xc0208265:数据流任务 1:无法检索“formNotes”列的长数据。 (SQL Server 导入导出向导)

“formNotes”列的数据类型是 Access 中的“备忘录”,我为服务器端的 formNotes 列尝试了不同的类型格式 (Text / ntext / varchar(max) / nvarchar(max))。不幸的是,我仍然收到相同的错误消息,因此无法导入数据。 任何帮助将不胜感激。提前致谢。

【问题讨论】:

    标签: sql ms-access


    【解决方案1】:

    我右键单击导入到 Access 数据项目中。老实说,在大多数情况下它更简单。

    SSIS 是一个非常复杂的野兽,这就是你要我们做的——

    【讨论】:

    • 右键点击什么?问题在 Access/Jet/ACE 中有数据表,提问者希望它在 SQL Server 中。据我所知,这与 ADP 无关,除非在导入 SQL Server 后提问者想从头开始构建新的 Access 应用程序。
    • 在 Access Data Project 中,您可以右键单击 LINK 到任何数据源... Access Database--就像使用 jet 一样
    • 但是您如何获得 ADP?它与问题无关。
    • +1 对于 ADP 的想法。我最近才切换到 ADP 来完成简单的工作,它确实节省了时间。 (例如复制/粘贴表格)
    【解决方案2】:

    在过去的一周里,我使用链接服务器将 1 TB 的附件移动到 Varbinary(max) 字段中。它就像一个魅力,有时出于吞吐量原因我需要逐行进行(暂存密钥, 然后一次写一行.. 通常有大约 10 个线程 - Vb 控制台应用程序)。

    我建议在 SQL Server 中构建一个指向 Access 数据库的链接服务器。 SQL Server 中的链接服务器几乎可以执行链接表在 Access 中可以执行的任何操作。

    我使用 SQL Server Express 版本针对其他 SQL Server 数据库调用远程存储过程,没有任何限制。

    链接服务器很棒,从安全角度来看,它们很快就会变得复杂。但是如果您对 Active Directory 有足够的了解,可以执行“委托信任”和 SetSpn,那么您可以使用链接服务器完成一些令人印象深刻的双跳场景.

    【讨论】:

    • 很高兴听到 SQL Server 中的 Access 链接服务器运行良好。但是,为一次性导入设置一个似乎需要做很多工作,在我看来,这就是这里所涉及的。做起来相对简单吗?
    • 在 SQL Server 中添加链接服务器很简单。仅仅因为你不知道怎么做,并不意味着这是错误的答案。
    • Aaron,它在哪里说我认为这是一个错误的答案?我的大部分 SQL Server 工作都是使用 2000 进行的,在那个版本中,链接服务器是隐藏的,我忘记了在哪里(很久以前使用过)。这不是我经常使用的东西(不需要它),所以我不声称我没有专业知识。但你确实需要更仔细地阅读——我的评论支持你的回答。
    • 创建一个新的 ADP,右键点击 LINK.. 设置非常简单。
    【解决方案3】:

    我刚刚将一些数据从 Access 移植到 SQLServer。

    使用 DatabaseTools --> SQL Server。

    它将询问您有关身份验证以及您希望移动哪些表的所有相关问题。它还会询问您是要将数据放入现有数据库还是创建新数据库...

    【讨论】:

      【解决方案4】:

      我不确定最适合您的情况的解决方案是什么,因为这不是我曾经做过的事情(将 Access 表导出到 SQL Server)。如果我升级到 SQL Server,我正在做整个数据库,为此我使用 SQL Server Migration Assistant for Access,它功能非常齐全,并且在升级方面做得非常好(比 Access 好得多升级向导)。有一些潜在的陷阱,但 SSMA 允许预览转换并进行更改以消除问题。

      您可能会尝试为您的目标 SQL Server 数据库创建一个 ODBC DSN,然后在 Access 中,您可以使用 FILE | EXPORT 将表导出到 DSN。它会根据它认为最好的为您选择数据类型。

      但是最好的方法完全取决于你做这一切的目的,以及它是一次性的事情还是需要编写脚本的事情。我只是想我会把这些观察结果混在一起。

      【讨论】:

        【解决方案5】:

        (这是一个老问题,但没有人接受任何答案......)

        在将数据库导入 MSSQL2012 数据库时,我遇到了同样的错误。它是 Access 2003 文件格式的 Access 数据库。将数据库保存为 Access 2007 格式,然后将数据导入 SQL Server 为我解决了这个问题。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-12-13
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多