Note: I've obviously changed the server names and IPs to fictitious ones.
Here's what's going on. I've got a server, which I'm calling MYSERVER
, running Microsoft SQL Server Express 2005. Right on this server itself, I've got an ODBC connection set up pointing at itself, and that already works perfectly. I log in using SQL Server Authentication (not Windows authentication), and it's set up like this:
Like I said, that one works. But next, I've got another computer which is on a totally different domain/not on the intranet, that needs to access this same SQL Server hosted on MYSERVER. Because it's on a different domain, it doesn't recognize the name "MYSERVER"; I have to point it at the IP address of MYSERVER, which we'll say is 123.456.789.012. But the ODBC connection doesn't seem to work there. I tried setting it up like this:
This doesn't work. When I put in the username and password and press Next, it stalls for a good 10 to 20 seconds, and then finally comes back with the following error:
Connection failed:
SQLState: '01000'
SQL Server Error: 1326
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()).
Connection failed:
SQLState: '08001'
SQL Server Error: 17
[Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied.
If I try the same thing, but change the "server" from 123.456.789.012\SQLEXPRESS
to just plain old 123.456.789.012
, I get a different error:
Connection failed:
SQLState: '01000'
SQL Server Error: 14
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Invalid Instance()).
Connection failed:
SQLState: '08001'
SQL Server Error: 14
[Microsoft][ODBC SQL Server Driver][DBNETLIB]Invalid connection.
Now I know what you're thinking. You might be thinking, "duh, you probably didn't open the firewall for port 1433, dummy." Except I did, and I verified this, as I can successfully run:
telnet 123.456.789.012 1433
...from the command line all I want. So I'm not sure what to do. I know the SQL Server exists, works, and an ODBC connection can be set up properly; I'm just not sure what it is I've got wrong in my connection settings that's throwing these errors. Based on the latter error I listed, it would seem that it can connect to the server, but simply cannot find the instance (since I didn't specify one that time). So does that mean I just need to use some different syntax to specify the IP along with an instance name? What do I do? Thanks in advance.