小编inc*_*nza的帖子

为什么SQL Server 2008 OLE DB UDL需要明确指定端口1433?

在生产环境中,我发现必须为"用于SQL Server的Microsft OLE DB提供程序"UDL明确指定端口1433.像这样:

Provider=SQLOLEDB.1;User ID=USER;Data Source=IP,1433
Run Code Online (Sandbox Code Playgroud)

如果未指定端口,则错误为:

 Test connection failed because of an error in initializing provider.
 [DBNETLIB][ConnectionOpen (Invalid Instance()).]Invalid connection.
Run Code Online (Sandbox Code Playgroud)

相同的环境,但SQL Native Client 10.1,不需要明确指定1433:

Provider=SQLNCLI10.1;Integrated Security="";Persist Security Info=False;
User ID=USER;Data Source=IP;...
Run Code Online (Sandbox Code Playgroud)

针对开发的SQL Server相同的测试,OLE DB UDL并没有要求指定的默认端口.

在什么情况下可能需要明确指定默认端口?

生产系统是群集的,具有主要的主动和辅助被动,以及与之建立连接的群集服务器.开发环境只是单个SQL Server 2008.我不知道任何其他差异.如果你认为这会影响到它,那为什么会这么重要?

客户端到SQL Server(创建UDL):Windows Server 2008 R2 Standard MDAC 2.8

所有SQL数据库服务器:Microsoft SQL Server 2008(SP1) - 10.0.2734.0(X64)Windows Server Enterprise Service Pack 2

在此先感谢您的帮助.

sql-server oledb sql-server-2008

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

oledb ×1

sql-server ×1

sql-server-2008 ×1