解决SQL Service创建链接服务器出现(null) 是无效的产品名称的问题

在使用SQL Service 2005/2008 创建链接服务器时,有出现过:"消息 15429,级别 16,状态 1,过程 sp_addlinkedserver,第 42 行'(null)' 是无效的产品名称。"的问题,从该错误提示上来看,主要是创建链接服务器的时候没有输入产品名称的原因。根据不同的创建方式以下分为两种解法方法,解决方法如下:

情况一:使用SQL语句创建链接服务器出现此问题

这是原来添加链接服务器SQL语句的第一句:

EXEC master.dbo.sp_addlinkedserver @server = N'My_LinkService', @provider=N'SQLNCLI', @datasrc=N'192.168.1.1'

我们可以看到一共传入了 server(链接服务器名称),provider(访问接口),datasrc(数据源)这三个参数和值。

由于错误提示我们的是null是无效的产品名称,所以我们必须要传入产品名称,参数名为srvproduct,值的话随便填一个好记的就可以了。最终这句SQL代码如下:

EXEC master.dbo.sp_addlinkedserver @server = N'My_LinkService', @provider=N'SQLNCLI', @datasrc=N'192.168.1.1',@srvproduct=N'mypro'

这里是完整的创建语句,仅作参考,具体参数根据自己数据库和需求更改:

/****** 对象:  LinkedServer [My_LinkService]    脚本日期: 07/14/2014 10:34:38 ******/
EXEC master.dbo.sp_addlinkedserver @server = N'My_LinkService', @provider=N'SQLNCLI', @datasrc=N'192.168.1.1',@srvproduct=N'mypro'
 /* For security reasons the linked server remote logins password is changed with ######## */
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'My_LinkService',@useself=N'False',@locallogin=NULL,@rmtuser=N'sa',@rmtpassword='123456'

GO
EXEC master.dbo.sp_serveroption @server=N'My_LinkService', @optname=N'collation compatible', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'My_LinkService', @optname=N'data access', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'My_LinkService', @optname=N'dist', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'My_LinkService', @optname=N'pub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'My_LinkService', @optname=N'rpc', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'My_LinkService', @optname=N'rpc out', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'My_LinkService', @optname=N'sub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'My_LinkService', @optname=N'connect timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'My_LinkService', @optname=N'collation name', @optvalue=null
GO
EXEC master.dbo.sp_serveroption @server=N'My_LinkService', @optname=N'lazy schema validation', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'My_LinkService', @optname=N'query timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'My_LinkService', @optname=N'use remote collation', @optvalue=N'true'

 

情况二:使用SQL Service可视化界面新建链接服务器出现此问题

如果是使用可视化视图界面进行链接服务器添加的话,只要在添加界面输入产品名称即可。如下图:解决SQL Service创建链接服务器出现(null) 是无效的产品名称的问题




原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/98325.html

(0)
上一篇 2021年8月21日
下一篇 2021年8月21日

相关推荐

发表回复

登录后才能评论