将 CSV 添加到数据库的有效方法

Hui Liu-MSFT 41,146 信誉分 Microsoft 供应商
2024-04-30T08:15:23.4133333+00:00

你好

我逐行读取 csv 文本文件,并使用 oldb sql 命令插入表格将每行的字段添加到表格的行中。

但是这需要很长的时间,不知道有没有更快的成就,请告知最有效、最快捷的走法

Note:此问题总结整理于:efficient way to add csv to database

VB
VB
Microsoft 开发的一种面向对象的编程语言,其在 .NET Framework 上实现。 以前称为 Visual Basic .NET。
61 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Jiale Xue - MSFT 35,556 信誉分 Microsoft 供应商
    2024-04-30T09:40:45.1466667+00:00

    可以使用 OleDbCommand 和 OleDbParameter 类构造 SQL insert 语句以一次插入多行。

    Dim sqlInsert As String = "INSERT INTO YourTable (Column1, Column2, Column3) VALUES (?, ?, ?)"
    
    Using connection As New OleDbConnection(connectionString)
        connection.Open()
    
        Using command As New OleDbCommand(sqlInsert, connection)
            Using reader As New StreamReader("your_csv_file.csv")
                While Not reader.EndOfStream
                    Dim line As String = reader.ReadLine()
                    Dim fields As String() = line.Split(","c) ' Assuming CSV fields are comma-separated
    
                    command.Parameters.AddWithValue("@param1", fields(0))
                    command.Parameters.AddWithValue("@param2", fields(1))
                    command.Parameters.AddWithValue("@param3", fields(2))
    
                    command.ExecuteNonQuery()
    
                    command.Parameters.Clear()
                End While
            End Using
        End Using
    End Using
    

    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。

    注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助