title: Why might SQL Server 2008 OLE DB UDL require port 1433 explicitly specified?
body: <p>In a production environment, I found that port 1433 must be explicitly specified for a "Microsft OLE DB Provider for SQL Server" UDL.  Like this:</p>
  
  <pre><code>Provider=SQLOLEDB.1;User ID=USER;Data Source=IP,1433
  </code></pre>
  
  <p>Without the port specified, the error is:</p>
  
  <pre><code> Test connection failed because of an error in initializing provider.
   [DBNETLIB][ConnectionOpen (Invalid Instance()).]Invalid connection.
  </code></pre>
  
  <p>Same environment, but SQL Native Client 10.1, does not require 1433 explicitly specified:</p>
  
  <pre><code>Provider=SQLNCLI10.1;Integrated Security="";Persist Security Info=False;
  User ID=USER;Data Source=IP;...
  </code></pre>
  
  <p>Same test against a development SQL Server, OLE DB UDL does <strong>not</strong> require the default port specified.</p>
  
  <p>Under what circumstances might it be necessary to explicitly specify the default port?</p>
  
  <p>The production system is clustered, with a primary active and secondary passive, and a cluster server to which the connections are made.  Development environment is just single SQL Server 2008.  I don't know of any other differences.  If you think this plays into it, why might that matter?</p>
  
  <p>Client to SQL Server (where UDL was created):
  Windows Server 2008 R2 Standard
  MDAC 2.8</p>
  
  <p>All SQL Database Servers:
  Microsoft SQL Server 2008 (SP1) - 10.0.2734.0 (X64)
  Windows Server Enterprise Service Pack 2</p>
  
  <p>Thanks in advance for any help.</p>