如何将从 ms 访问表中检索到的记录插入到 sql server 表中?
Posted
技术标签:
【中文标题】如何将从 ms 访问表中检索到的记录插入到 sql server 表中?【英文标题】:How can I insert a record retrieved from an ms access table into an sql server table? 【发布时间】: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
嗯。如果你不知道也没关系。亚当给出了一个有用的答案。
【参考方案1】:
请看一下 SQL Server Management Studio 附带的“SQL Server Import and Export Data”程序。它在向/从 SQL Server 和各种其他格式(如 Access、Excel、OLE 等)传输数据方面做得非常出色。
【讨论】:
最初,我确实使用了 SQLServer 的导入/导出数据程序;但是,它会在数据副本的一部分中出错,并出现不同的错误,并且没有详细说明在哪里。大多数时候。有时我能够在它们不应该存在的地方追踪空值,但在大多数情况下,在被关闭之前我只获得了 1/3 的数据。我什至尝试使用错误时忽略选项,但它从未忽略它们。 谢谢亚当,实际上我在它出错后一直在运行它,发现每次它都走得更远。感谢您的帮助。以上是关于如何将从 ms 访问表中检索到的记录插入到 sql server 表中?的主要内容,如果未能解决你的问题,请参考以下文章
检索插入记录的 ID:Php & MS SQL SERVER