
I’m not an SQL Server expert, and I certainly haven’t developed classic ASP pages, but here are my thoughts.
-You shouldn’t need SQL Server installed on the web server
-You shouldn’t need to connect to the database using ODBC.
-Have you configured the database server to accept SQL Server authentication ?
I would try to connect directly to the database, and if that fails I would post the connection string used and the exact error message returned.

Finally I managed to connect to my database on the remote SQL Server through ASP Classic.
But I didn’t use ODBC. My opinion is that connecting to a database on a network share with ODBC is a joke, even Microsoft knowledge base states it is a known problem hence the error 80004005 I am getting.
On the backend I added a user as administrator. I clicked on the object explorer window then the server name, expand security, then logins and added a new user with a password. I chose SQL Server authentication and ticked the option where the user should renew password on next login. Then I closed the SQL Server, re-started it, connected to my server and was prompted to type a new password. I got in the database I just created fine. So far so good there.
On the frontend computer I started SQL Server and in the registered servers window, right-clicked on database engine->new->server registration and found the SQL server on the back-end computer. I chose SQL Authentication and typed the username and password I chose just earlier. Things went OK and I could manipulate the zkp_database through the SQL Server on the webserver.
Now my original aim was to connect and manipulate the database on the web server through ASP Classic.
I provide the code I used for the ASP Classic webpages as a sample. The hardest thing to find and setup was the connection string. The username and password are needed - these are examples.
<%
Set Cn = Server.CreateObject(”ADODB.Connection”)
set rs=server.CreateObject(”adodb.recordset”)
Cn.Open “driver={SQL Server};server=dataone-06f8edd;Database=zkp_database;uid=john;pwd=2310425400;”
strSQL = “select * from zkp_users”
rs.open strSQL, Cn
Do While Not rs.EOF
response.write (rs.Fields.Item(0) & “<br>”)
rs.movenext
loop
Cn.Close
%>
Hope this will be useful to someone else.
@Carlosdl:
thanks for reading this, I can’t guarantee myself if SQL is needed on the web server but the connection string specifies driver={SQL Server}. If the webserver hasn’t got SQL Server on it where is it going to find this driver? The creation and authentication of the user had to be done.

@MrDenny:
I tried your solution and it works too thanks a lot! I assume SQLNCLI means SQL Native Client Interface or something?
This site:
http://msdn.microsoft.com/en-us/sqlserver/aa937733
states
“The SQL Server Native Client contains the SQL Server ODBC driver and the SQL Server OLE DB provider in one native dynamic link library (DLL) supporting applications using native-code APIs (ODBC, OLE DB and ADO) to Microsoft SQL Server.”
The main point here is that SQLNCLI contains both drivers. So it makes sense to work. It also worked fine with driver={SQL Server} which I found on a webpage about connection strings. This {SQL[space]Server} syntax looked a bit wrong to me and didn’t believe it would work at first… Now I see it is correct. This site states it is used for version 2.56 or earlier of SQL ODBC Driver.
http://msdn.microsoft.com/en-us/library/aa177865%28v=sql.80%29.aspx
I guess Driver={SQL Driver} provides backwards compatibility so that you can connect to SQL Server using another way.
Thanks for your time, I will stick with Provider=SQLNCLI.

The “Driver={SQL Driver}” is using the older SQL 2000 drivers which are installed on Windows by default. If you want to use the newer SQL drivers you need to specify the native client.

















