Unable to connect to SQL remotely through SqlConnection???

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hey guys,

I've written a web application that I'm simply trying to use to
access a database. When I run the application locally (or as an NT Service)
it can easily access the remote SQL database. However, when I host the item
as a web application, it can ONLY access local SQL databases on that server,
and NOT remote SQL databases (even if it's on our network). Like I said, I
can access those same databases when I run the program in localhost, but NOT
when it's hosted.

What could the problem possibly be? I don't get any errors, it just doesn't
pull up any data.

This are the connection strings that I've tried, neither of which work. I've
created a local ODBC connection to the database, and the ODBC connection has
no problem connecting to the server with the SQL database on it, but it just
doesn't work when I'm accessing it remotely. I don't get any errors, there
just isn't any data.

For obvious reasons, I've changed the info below.


Any help you guys can give me, I'd really appreciate it!!!


THanks!!!



// SqlConnection sqlConn2 = new SqlConnection("user id=XXXXXX" +
// "password=XXXXXX;server=SERVERNAME;" +
// "Trusted_Connection=yes;" +
// "database=database_name; " +
// "connection timeout=30");

SqlConnection sqlConn2 = new SqlConnection("Data Source=database_name;
connection timeout=30");
 
What identity are you running the asp.net app as? local service?
network service? or a dedicated account?
Perhaps the account doesn't have access to the network...

Changing it depends on what version of IIS you are using

Marc
 
Wow, Ithink this might actually be the problem.

Unfortunatley, I have absolutely no idea. How would I know?

I'm just setting up the web app in IIS under a seperate APP Pool, using .NET
2.0.

How would I know what it's loading under?


Thanks for the help!!!

Todd
 
Hi,
Todd Jaspers said:
Hey guys,

I've written a web application that I'm simply trying to use to
access a database. When I run the application locally (or as an NT
Service)
it can easily access the remote SQL database. However, when I host the
item
as a web application, it can ONLY access local SQL databases on that
server,
and NOT remote SQL databases (even if it's on our network). Like I said, I
can access those same databases when I run the program in localhost, but
NOT
when it's hosted.

What could the problem possibly be? I don't get any errors, it just
doesn't
pull up any data.

What surprise me is taht you get no error, you should get at least a
connection error

do you have a firewall for any change?
This are the connection strings that I've tried, neither of which work.
I've
created a local ODBC connection to the database, and the ODBC connection
has
no problem connecting to the server with the SQL database on it, but it
just
doesn't work when I'm accessing it remotely. I don't get any errors, there
just isn't any data.

But you are not using ODBC though.
 
Exactly! It's very weird. There is absolutely NO error. It just simply does
NOT populate the data. But when I run it locally in VS2005 where it runs it
from Local Host, it pulls up the data just as it should. NO error AT ALL.
Form loads fine, the data just isn't there. Everything else is the same.

I really have no idea if there's a firewall or not. It's very frustrating.
The IT guys pass out group policy, make changes all the time, and they don't
tell us. I complain about it constantly, but they're still learning the ropes
of AD I suppose.

How would I be able to tell if 1433 is being blocked or firewalled?
 
Todd, "No error" is kind of a blanket statment. Have you tried something like
this?

SqlConnection sqlConn2 = null;
try
{
sqlConn2 = new SqlConnection("Data Source=database_name;
connection timeout=30");
}

catch(SqlException sqlex)
{
System.Diagnostics.Debug.WriteLine(ex.Message +);
}

finally
{
sqlConn2.Close();
}

I bet you will see something in the output window in debug mode. Get in the
habit of wiring up your code with exception handling; it will save you a lot
of time.
-- Peter
Recursion: see Recursion
site: http://www.eggheadcafe.com
unBlog: http://petesbloggerama.blogspot.com
BlogMetaFinder: http://www.blogmetafinder.com
 
I'm just setting up the web app in IIS under a seperate APP Pool, using .NET
2.0.

How would I know what it's loading under?
On the app-pool is an identity tab. You can specify any valid account,
*but* it must (IIRC):
* have read access to the files that make up your site (obviously)
* have read/write access to the designated temp area
* have the "log on as a service" flag set against the user priveleges
* be in the IIS_WPG group (or have the equivalent attributes, whatever
they are)

If (when setting a custom identity) you get "service unavailable" (and
normally an eventlog entry) then something isn't set right. But note
that the app-pool does *not* resurrect from wpg logon failures, so
once you have changed something you need to manually restart the app-
pool, otherwise it stays dead and doesn't retry.

Marc
 
Back
Top