【问题标题】:Import .txt file to SQL database using VB.NET使用 VB.NET 将 .txt 文件导入 SQL 数据库
【发布时间】:2014-11-03 11:47:44
【问题描述】:

我有一个 SQL 数据库(本地使用 vb.net),它有一个包含 76 列的表。需要放入这些列的数据采用纯分隔文本文件的形式。我需要构建一个 VB.NET 应用程序,它允许我将文本文件导入数据库中相应列下的表中。有什么办法可以做到这一点吗?

我对 VB.NET 很陌生。有人可以帮我写代码吗?

谢谢! 卡马尔

【问题讨论】:

    标签: sql sql-server vb.net


    【解决方案1】:

    如果您有逗号分隔的值:

    bulk insert tableName
    from 'C:\myfile.txt'
    with (fieldterminator = ',', rowterminator = '\n')
    go
    

    对于制表符分隔值,请使用:

    bulk insert tableName
    from 'C:\myfile.txt'
    with (fieldterminator = ',', rowterminator = '\n')
    go
    

    【讨论】:

    • 澄清一下这不是VB.Net,是T-SQL,我个人认为这是一个更简单有效的解决方案
    • 为什么还要使用 VB.Net,如果你问我,它只会让事情复杂化。
    • 原因是,我们正在使用 vb.net 构建一个前端应用程序,该应用程序将帮助我们从底层数据库导入和操作数据
    • 真的是@Nick.McDermaid 吗? @Kamall 我需要知道您对 VB.NET 中的数据库连接有多熟悉。你知道如何用.NET代码建立数据库连接吗?
    • 是的@marttronix,我能够创建一个本地数据库并使用 vb.net 建立与它的连接
    【解决方案2】:

    76 列?
    必须是神表反模式...

       Public Sub CopyToDataBase(dt As DataTable)
    
        Using Conn As SqlConnection = New SqlConnection("YOUR_CONNECTION_STRING")
            Conn.Open()
    
            Using s As SqlBulkCopy = New SqlBulkCopy(Conn)
    
                s.DestinationTableName = "TableName"
                s.WriteToServer(dt)
                s.Close()
    
            End Using
    
            Conn.Close()
        End Using
    End Sub
    

    当然这要求表有一个主键。

    【讨论】:

      猜你喜欢
      • 2016-05-14
      • 2013-02-18
      • 2012-11-16
      • 2012-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多