大量数据快速插入到DB
来源:互联网 发布:spycall软件免费下载 编辑:程序博客网 时间:2024/05/22 10:44
许多时候需要上传一个excel文件到服务器端,然后将excel中大量数据导入到DB,
如果写正常的插入sql语句速度比较慢,用以下方法比较快。
''' <summary>
''' 插入临时表
''' </summary>
''' <param name="tbInfo"></param>
''' <param name="userId"></param>
''' <remarks></remarks>
Private Sub BatchInsertInfo(ByVal tbInfo As DataTable, ByVal userId As String)
Dim strConn As String
Dim tableName As String = "EmployeeMaster_Import_Tmp"
Dim dr As DataRow
Dim queryString As String
Dim dt As DateTime = Now
Dim connection As New SqlConnection
Try
strConn = "数据库连接字符串"
queryString = "select * from EmployeeMaster_Import_Tmp where UserID = '' "
'Using connection As New OracleConnection(strConn)
connection = New SqlConnection(strConn)
Dim adapter As New SqlDataAdapter()
adapter.SelectCommand = New SqlCommand(queryString, connection)
Dim builder As SqlCommandBuilder = New SqlCommandBuilder(adapter)
connection.Open()
Dim dataSet As DataSet = New DataSet
adapter.Fill(dataSet, tableName)
' Code to modify data in DataSet here
Dim table As DataTable = dataSet.Tables(tableName)
For i As Integer = 0 To tbInfo.Rows.Count - 1
dr = tbInfo.Rows(i)
table.Rows.Add(table.NewRow)
table.Rows(table.Rows.Count - 1).Item(0) = userId
table.Rows(table.Rows.Count - 1).Item(1) = dr(0)
。。。
table.Rows(table.Rows.Count - 1).Item(17) = userId
table.Rows(table.Rows.Count - 1).Item(18) = dt
table.Rows(table.Rows.Count - 1).Item(19) = userId
table.Rows(table.Rows.Count - 1).Item(20) = dt
table.Rows(table.Rows.Count - 1).Item(21) = ""
table.Rows(table.Rows.Count - 1).Item(22) = ""
Next
builder.GetUpdateCommand()
' Without the SqlCommandBuilder this line would fail.
adapter.Update(dataSet, tableName)
'End Using
Catch ex As Exception
'异常抛出
Throw ex
Finally
'如何连接打开中,则关闭
If (connection.State = ConnectionState.Open) Then
'关闭数据库连接
connection.Close()
End If
End Try
End Sub
- 大量数据快速插入到DB
- 使用SqlBulkCopy批量快速插入大量数据到SQL SERVER
- mysql快速插入大量数据
- Oracle如何快速、大量的插入数据
- c# 快速 将大量数据插入数据库
- 如何快速向Mysql插入大量数据?
- redis快速的插入大量的数据
- mysql嵌套查询,快速插入大量数据
- PostgreSQL数据库如何快速插入大量数据
- 如何在sqlserver数据库中快速插入大量数据.
- 如何快速往表里插入大量的数据行
- SqlBulkCopy快速插入大量数据,缺点就是不能查重
- [Oracle]快速插入大量(100w)数据
- 插入大量数据
- Oracle 插入大量数据
- Oracle 插入大量数据
- Oracle 插入大量数据
- 一次插入大量数据
- Cygwin使用笔记和问题收集
- 在百度地图或谷歌地图给中国各省着色并高亮显示
- 黑客素质&黑客守则&黑客精神
- three20运行在ios6 SDK下相关问题的解决
- asp.net google地图+百度地图绘制行政区域图
- 大量数据快速插入到DB
- 2013寒假练习 1013:Bone Collector
- 百度地图+谷歌地图 勾画 行政区块边界
- 在Google地图中显示行政区边界
- 【Visual C++】游戏开发笔记四十三 浅墨DirectX教程十一 为三维世界添彩:纹理映射技术(二)
- DroidUX解密
- ACM_1115_String,Char,int类型转换,递归思想
- 火车站售票时间
- ACM_3207_HashTable