我在名为“workgroup”的工作组中有2台服务器。
W2012R2
。W2012R2
。 SQLCMD Utility已安装在服务器B上。我正在使用本地帐户,SQL服务是从本地帐户开始的。我可以从B连接到SQL服务器到A.我可以毫不费力地启动查询。当我启动我的SQL脚本时,我收到以下错误:
E:\Batch\Script>sqlcmd -S YMSQL01 -i test.sql
将数据库上下文更改为“PROD”。
Msg 7399,Level 16,State 1, 服务器YMSQL01,过程V_C_Prod,第3行OLE DB提供程序 链接服务器“C_PROD”的“Microsoft.ACE.OLEDB.12.0”报告了一个 错误。提供商未提供有关错误的任何信息。
消息7303,级别16,状态1,服务器YMSQL01,过程V_C_Prod,第3行 无法初始化OLE DB提供程序的数据源对象 链接服务器“C_PROD”的“Microsoft.ACE.OLEDB .12.0”。
正如您所看到的,似乎我无法查询视图。此视图来自链接服务器,该服务器连接到Excel文件(位于服务器B上)。我在服务器B上安装了相同的ODBC驱动程序但是我得到了同样的错误。
我的SQL脚本:
Use PROD
Go
Merge dbo.conc AS t
using V_C_Prod as s
ON (t.CodeComptable=s.[Code Comptable])
WHEN MATCHED THEN UPDATE SET
t.[Marque]=s.[Marque]
,t.[CodeHolding] = s.[Code HOLDING]
,t.[Email1]=s.[Email Principal]
,t.[CP]=s.[CP]
,t.[Ville]=s.[Ville]
WHEN NOT MATCHED
THEN INSERT VALUES (
s.[Marque]
,s.[Code HOLDING]
,s.[Code Comptable]
,s.[Email Principal]
,s.[CP]
,s.[Ville];
Go
我该如何解决这个问题?感谢您的支持。