Bizzare SQL Network Error

G

Guest

I am trying to connect to a default instance of SQL Server 2000 Enterprise on
a remote network server using ADO.NET objects through ASP.NET Web Application.

The SQL SERVER is on a Windows XP machine (no firewall enabled) with TCP/IP
and Named Pipes enabled

For the test purposes, I created a new Web Form, created a new SqlConnection
in the Server Explorer to the remote database. I test the connection is VS
IDE and everything is fine. I create a SqlDataAdapter on the web form,
generate a dataset, test the dataset and the results are valid. I bind the
SqlDataAdapter to a datagrid and run the webform. I now get the following
error.

System.Data.SqlClient.SqlException: SQL Server does not exist or access
denied.
at System.Data.SqlClient.ConnectionPool.GetConnection(Boolean&
isInTransaction)
at
System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection(SqlConnectionString options, Boolean& isInTransaction)
at System.Data.SqlClient.SqlConnection.Open()
at DBConnTest.WebForm1.Page_Load(Object sender, EventArgs e) in
c:\inetpub\wwwroot\dbconntest\webform1.aspx.cs:line 39

Hmph! I take the same connection string from the web app, create a win app.
Place a datagrid on the form, do the binding and load the app. Hey Presto! it
works.

I used TCPView (systeminternals.com) and I can see aspnet_wp trying to
create a connection, but its at though SQL Server is rejecting the
connection, although I see no failures in SQL Server.

Any thoughts would be much appreciated.

Andy
 
R

Robbe Morris [C# MVP]

Your ASP.NET request is not being run under the same windows
account as your windows form app is. I suspect that you'll
need to grant windows authentication to whatever windows
account your ASP.NET requests are being run under. Hint,
it isn't the account you are personally signed in as.

On Windows 2003 Server, I believe the "Network Service"
windows account is the default one. But, this can be altered.

--
Robbe Morris - 2004/2005 Microsoft MVP C#

Earn money answering .NET Framework
messageboard posts at EggHeadCafe.com.
http://www.eggheadcafe.com/forums/merit.asp
 
G

Guest

I though that, but I'm not using Integrated Security, I'm implicitly passing
the sa username and password.

The bizzare thing is that, the same connection string, the same code to
connect to the database. In a windows APP it works fine, in a Web APP I get
the error that I posted earlier.

The SQL Database is not on the same machine as the applications. The SQL is
set to use Windows and SQL Authentication. The SQL Server does reside on a
Windows XP machine SP2 (no firewall, on domain).

Last resort I tried using ODBC configuring TCP/IP and Named Pipes, still
doesn't work. So I'm unsure if it's a .net issue or a connectivity issue.
The ODBC drivers work with testing the connection, but just not through
ado.net

This problem is a serious head scratcher!!!
 
G

Guest

Try making sure the SQL account (sa) that you put into the connection string
is actually being used. If you are using the default network library(named
pipes) then it will ignore the name and pw in the connection string. You may
have to force the Network Library=dbmsoccn in the connection string. I used
to do this in ADO but haven't tried it with .NET.

The reason the Windows app worked was because it used the account of the
person running the Windows app.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top