首页 > 解决方案 > 每秒将列从 excel 发送到 MSSQL 5 次

问题描述

我需要每秒将 5 次 excel 列传输到 mssql 服务器。我想覆盖 sql server 中的现有数据。我在互联网上尝试了很多代码,但它不起作用。我有一个工作代码可以将 sql 表读取到 excel 中的工作表中。是否可以将数据写入sql server?我对 vba 或 sql server 没有太多经验。我希望有人可以帮助编写代码。

我已经发布了我的工作代码以从 SQL 服务器中的表中读取数据,我已经删除了密码。抱歉英语不好。

Sub ADOExcelSQLServer()


   ' Carl SQL Server Connection
  '
   ' FOR THIS CODE TO WORK
    ' In VBE you need to go Tools References and check Microsoft Active X Data Objects 2.x library

    Dim cn As ADODB.Connection
    Dim Server_Name As String
    Dim Database_Name As String
    Dim User_ID As String
    Dim Password As String
    Dim SQLStr As String
    Dim rs As ADODB.Recordset
    Set rs = New ADODB.Recordset

    Server_Name = "NLDONL0113" ' Enter your server name here
    Database_Name = "Stroomwaarden" ' Enter your database name here
    User_ID = "Admin" ' enter your user ID here
    Password = "" ' Enter your password here
    SQLStr = "SELECT * FROM [Stroomwaarde]" ' Enter your SQL here"

    Set cn = New ADODB.Connection
  cn.Open "Driver={SQL Server};Server=" & Server_Name & ";Database=" & Database_Name & _
   ";Uid=" & User_ID & ";Pwd=" & Password & ";"

   rs.Open SQLStr, cn, adOpenStatic
    ' Dump to spreadsheet
   With Worksheets("sheet1").Range("M3:M500") ' Enter your sheet name and range here
       .ClearContents
       .CopyFromRecordset rs
   End With
    '            Tidy up
   rs.Close
   Set rs = Nothing
   cn.Close
   Set cn = Nothing

End Sub

标签: sqlsql-serverexcelvba

解决方案


推荐阅读