Sql server 从32位移动到64位,如何使链接服务器(sp_addlinkedserver)工作

Sql server 从32位移动到64位,如何使链接服务器(sp_addlinkedserver)工作,sql-server,sql-server-2008,linked-server,bcp,openrowset,Sql Server,Sql Server 2008,Linked Server,Bcp,Openrowset,下面是一些在32位机器SQL server 2005中运行良好的示例代码,需要更新为64位。。。我知道这是一个常见的问题,但一直无法找到如何解决它 DECLARE @sourceFile varchar(255), @testRows int SELECT @sourceFile = @xmlInfo.value('(/SelectFile/DataSource)[1]', 'VARCHAR(100)') EXEC sp_addlinkedserver 'SomeData',

下面是一些在32位机器SQL server 2005中运行良好的示例代码,需要更新为64位。。。我知道这是一个常见的问题,但一直无法找到如何解决它

    DECLARE @sourceFile varchar(255), @testRows int

  SELECT @sourceFile = @xmlInfo.value('(/SelectFile/DataSource)[1]', 'VARCHAR(100)')
  EXEC sp_addlinkedserver 'SomeData', 'Excel', 'Microsoft.Jet.OLEDB.4.0', @sourceFile, '', 'Excel 8.0', ''

   IF @xmlInfo.exist('/SelectFile/DataSource') = 1
   BEGIN
    EXEC(' INSERT INTO TableTest
      SELECT col1_Id, col2, Replace(col3, '' '', '''')
      FROM OPENROWSET(''Microsoft.Jet.OLEDB.4.0'',
          ''Excel 8.0;HDR=Yes;Database='+@sourceFile+''', [Sheet1$])')
     SELECT @testRows = @@ROWCOUNT, @totalRows = @totalRows + @@ROWCOUNT
   END
我正在尝试的另一件事是使用bcp实用程序从表中创建一个.fmt文件,这样我就可以定义正在读取的文件的格式


任何帮助都将不胜感激

我认为Excel仍然只有32位驱动程序。所以我不知道你是否能够使用这个驱动程序使用链接服务器


您最好使用导入数据向导导入数据,并在向导的最后一个步骤中保存包,然后您可以重新运行包以刷新数据。客户端工具都是32位的,因此使用32位驱动程序没有问题。

Hi可能重复,是的,这是一个重复,我不知道如何删除上一个!我想知道是否有办法在64位机器中执行sp_addlinkedserver系统过程,并传递上述参数。我正在尝试获取Excel数据源文件并将结果放在一个表格中,比如说“TableTest”,我对这个很陌生,所以我的问题可能很模糊,希望这个评论能让它更清楚一些。谢谢你的帮助!