【发布时间】: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