Let me see if I can ask this question with right information that does not get us off into the weeds. First let me define a system... (IP are internal WAN only, not public facing) The 10.29.5.x subnet can route to 192.168.60.x subnet.
Box 1 running Win 7 64 bit SQL Server R2 2008 IP address 192.168.60.71/24
Box 2 running Win 7 64 bit SQL Server R2 2008 IP address 10.29.5.70/24
Box 3 running XP 32 bit IP address 10.29.5.74/24
Connect String is :Initial Catalog=Iris;Persist Security Info=False;connect timeout= 10;user ID=xxxxx_Programer;password=xxxxxPassword;Data Source=192.168.60.71;Asynchronous Processing=True
The program is using system.data.sqlclient (vb.net). If I run it on Box 2, it connects ok, if I run it on Box 3 it errors.
Error:
System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
I am assuming there is not a network, firewall, code, or configuration issue since I can connect from box 2 to box 3. I loaded the SQL Management Studio down on box 3 and tried to connect to box 1, and it worked.
I am thinking it something to do with .Net framework since I can connect with SQL Management Studio. Box 3 in production will not have it. BTW, 4.0 is the targeted framework.
Let me start here and see where the questions lead, I can give more detail if necessary.
if you use user and password, then "Persist Security Info=True"
Missing "Provider=SQLOLEDB.1;" in connection string.
Try create "sql.udl" file and test different configuration.