【问题标题】:How can I insert a record retrieved from an ms access table into an sql server table?如何将从 ms 访问表中检索到的记录插入到 sql server 表中?
【发布时间】:2015-03-27 17:04:52
【问题描述】:

我有一个 MS Access 数据库表,我在没有数据的情况下导出到 SQL Server 2012。所以现在我想将access表中的数据逐行复制到sql表中。

    Dim conn As System.Data.OleDb.OleDbConnection = New System.Data.OleDb.OleDbConnection(Configuration.ConfigurationManager.ConnectionStrings("ACCESS_DB_DataConnectionString").ToString())
    Dim comm As System.Data.OleDb.OleDbCommand = New System.Data.OleDb.OleDbCommand("Select * FROM " + accessTable)
    Dim rdr As System.Data.OleDb.OleDbDataReader

    Try
        conn.Open()
        rdr = comm.ExecuteReader

        While rdr.Read
             InsertRecord()
        End While
        rdr.Close()
    Catch ex As Exception
        'Error
    Finally
        comm.Dispose()
        conn.Close()
        conn.Dispose()
    End Try
End Sub

Private Sub InsertRecord()
    'What do I do here?  Select into?  But how?
End Sub

我不想使用常规插入,因为我不想输入所有列名。最终目标是复制我能复制的记录并跳过并获取所有出错行的 ID。

谢谢

【问题讨论】:

  • 使用数据库时遇到的最大问题是强迫自己将数据移动视为line by line
  • 获取列名有什么难的?并且您可以让链接服务器从 SSMS 访问。
  • 老实说,它是一组糟糕的表(不仅仅是一个),其中包含无数列。我不想对每张桌子都这样做。
  • 确实有无数列,您尝试导入失败,您认为上述问题是解决方案? -1
  • 嗯。如果你不知道也没关系。亚当给出了一个有用的答案。

标签: .net sql-server vb.net ms-access ssms


【解决方案1】:

请看一下 SQL Server Management Studio 附带的“SQL Server Import and Export Data”程序。它在向/从 SQL Server 和各种其他格式(如 Access、Excel、OLE 等)传输数据方面做得非常出色。

【讨论】:

  • 最初,我确实使用了 SQLServer 的导入/导出数据程序;但是,它会在数据副本的一部分中出错,并出现不同的错误,并且没有详细说明在哪里。大多数时候。有时我能够在它们不应该存在的地方追踪空值,但在大多数情况下,在被关闭之前我只获得了 1/3 的数据。我什至尝试使用错误时忽略选项,但它从未忽略它们。
  • 谢谢亚当,实际上我在它出错后一直在运行它,发现每次它都走得更远。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2016-11-03
  • 1970-01-01
  • 2016-09-28
  • 2012-06-12
  • 2010-12-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多