使用VBA Access从CSV导入到远程SQL Server表

时间:2019-06-10 21:03:55

标签: sql-server vba ms-access

我们将从2010年从SQL Server 2008迁移到Access 2013,从SQL Server 2008迁移到2016。要导入CSV文件,我使用了Docmd.TransferText命令,该命令很容易地导入到本地Access表中。< / p>

现在我在尝试将数据从CSV导入到远程SQL Server表时遇到问题。我将文件复制到2016数据库所在的SQL Server框中,并使用以下内容进行传输。

str1 = "BULK INSERT Temp3 " & _
          "FROM 'C:\Bulk\FileExchange_Response_49636101_49.csv'" & _
          "WITH (FIRSTROW = 2, FIELDTERMINATOR = ',', " & _
          "ROWTERMINATOR = '\\n', TABLOCK)".

这不会引发任何错误,但是不会导入数据。

任何人都可以提出从CSV导入数据的想法吗?

谢谢

即使没有错误,也不会导入数据。

1 个答案:

答案 0 :(得分:0)

好像您已将数据放入Access。试试这个:

  1. 创建一个到SQL Server表的“链接表”。外部数据>新数据源>从数据库> SQL Server>通过创建链接表链接到数据源>创建数据库的DSN,选择表。您将在带有SQL Server表的表中看到一个绿色图标。
  2. 创建一个追加查询。创建>查询设计>关闭显示表弹出窗口>选择左上角的SQL视图>使用类似插入MyNewLinkedTable(Field1,Field2)的操作,然后从MyAccessTable中选择Field1,Field2
  3. 在上方功能区上单击“运行”,然后按照提示进行操作。

不需要VBA!