Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 从Ms Access Mdb文件到sql server 2005获取数据的最佳方法_Sql Server_Ms Access_Sql Server 2005_Vba - Fatal编程技术网

Sql server 从Ms Access Mdb文件到sql server 2005获取数据的最佳方法

Sql server 从Ms Access Mdb文件到sql server 2005获取数据的最佳方法,sql-server,ms-access,sql-server-2005,vba,Sql Server,Ms Access,Sql Server 2005,Vba,我们使用一个使用SQLServer2005作为后端的软件 问题是access文件中有数据,我们需要将其存储在sql server表中 我已经准备好了sql server表 我不需要MDB access文件中的所有数据,但需要access中的特定列,然后将其存储在SQL server中 我每周都会得到新的访问表,需要将其迁移到SQL Server中的表中 执行此操作的最佳方法是什么?设置一个包来执行此操作 设置一个包来执行此操作 假设您可以使用Access作为客户端接口,则可以打开2个

我们使用一个使用SQLServer2005作为后端的软件

问题是access文件中有数据,我们需要将其存储在sql server表中

我已经准备好了sql server表

我不需要MDB access文件中的所有数据,但需要access中的特定列,然后将其存储在SQL server中

我每周都会得到新的访问表,需要将其迁移到SQL Server中的表中

执行此操作的最佳方法是什么?

设置一个包来执行此操作

设置一个包来执行此操作


假设您可以使用Access作为客户端接口,则可以打开2个连接:

  • 到Access数据库的ADODB或ODBC连接
  • 到SQL server的ADODB或ODBC连接
您将在每个连接上打开一个记录集,然后浏览Access数据库记录集,用以下代码填充SQL server记录集:

Do while not rsACCESS.eof
    rsSQL.addNew
    For each rsField in rsACCESS.field
        rsSQL.fields(rsField.name) = rsField
    Next rsField
    rsSQL.update
    rsACCESS.moveNext
Loop

当然,您必须确保您的rsSQl记录集是可更新的,等等…

假设您可以使用Access作为客户端接口,您可以打开两个连接:

  • 到Access数据库的ADODB或ODBC连接
  • 到SQL server的ADODB或ODBC连接
您将在每个连接上打开一个记录集,然后浏览Access数据库记录集,用以下代码填充SQL server记录集:

Do while not rsACCESS.eof
    rsSQL.addNew
    For each rsField in rsACCESS.field
        rsSQL.fields(rsField.name) = rsField
    Next rsField
    rsSQL.update
    rsACCESS.moveNext
Loop

当然,您必须确保您的rsSQl记录集是可更新的,等等……

SSMA将很好地做到这一点。您可以设置作业并将其保存以方便再次运行


SSMA将很好地做到这一点。您可以设置作业并将其保存以方便再次运行