Hosting ASP.NET Web App on IIS DB connection problems - c#

I have used IIS before, but I've never used a database and I've never done a web app. I did the same steps for putting a site onto IIS and everything works EXCEPT for when I go to a page that has a DB connection on it. I've tried a lot and this is all I get.
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: SQL Network Interfaces, error: 50 - Local Database Runtime error occurred. Cannot create an automatic instance. See the Windows Application event log for error details.
Windows Application Event Log:
Cannot get a local application data path. Most probably a user profile is not loaded. If LocalDB is executed under IIS, make sure that profile loading is enabled for the current user.
This was built in Visual Studio and I have a SQL Express DB.
I posted my connection strings, any help is greatly appreciated.
I have added this to my applicationHost.config:
<add name="DefaultAppPool">
<processModel identityType="ApplicationPoolIdentity" loadUserProfile="true" setProfileEnvironment="true" />
And now I get:
An attempt to attach an auto-named database for file |MY DB1 FILE| failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\DB1.mdf;Initial Catalog=aspnet-ICCAA_VIZIER-20150223043129;Integrated Security=True" providerName="System.Data.SqlClient"/>
<add name="ConnectionString" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\DB2.mdf;Integrated Security=True;Connect Timeout=30" providerName="System.Data.SqlClient"/>

I was able to figure it out. I changed all my data connections to .\SqlExpress. Which led me to another error of:
Login failed for user ‘NT AUTHORITYNETWORK SERVICE‘
To fix this I followed this guys article to figure it out.
Login Failed For user NetworkService

Related

Is There a Connection String For Connecting to Client Machine

I installed a windows form application on a client computer but when I try to log into my application it gives me this error:
a connection was successfully established with the server, but then an error occurred during the login process. (provider: shared memory provider, error: 0- No process is on the other end of the pipe.)
This is a c# windows form application running with SQL Server database, with login details. I have added the in and out bound rule on my firewall, I have tried changing my connection string severally, I have enabled tcp/ip port with its default port number, I have tried using the same network for both computers, I have tried using window and sql authentication, I have disabled firewall on client computer
Here is my connection string
<add name="connstrng" connectionString="Data Source=(local);Initial Catalog=AnyStore;Integrated Security=True"/>
I expect to be logged in to my application on the client computer using the same database with my server computer.
Connection strings are usually defined within the Web.config file. As #Panagiotis Kanavos said, the string is connecting to a local data source, which should work as expected within your dev environment. The web.config file should be located within the root directory of your project. Edit this file on the client's machine to point to the expected server / database. You may want to keep a blank or default version of this file in source control to avoid overwriting other's connection string info.
Example String:
<add name="SomeDB" connectionString="Data Source=snapdragon\SQL2k14;database=DBNAME;User Id=username; password=password" providerName="System.Data.SqlClient" />
Edit: "snapdragon" would be the host computer name. "SQL2k14" would be your sql server instance.
ok, i found the solution i changed my connection string and its working fine now, thanks guys.
here is my connection string-
<connectionStrings>
<add name="connstrng" connectionString="Data Source=DESKTOP-5I8TFY3\EMEKA;Initial Catalog=AnyStore;User ID=adminpos;Password=********" />
</connectionStrings>
</configuration>

ASP.NET connectionString for mdf file not working

I am using I am using Visual Studio 2017. I just created a brand new mdf file in my project (Right click on App Data -> Add New Item -> SQL Server Database) and I called the file TestDatabase.mdf
Now I am trying to connect to it via a connection string:
<add name="TestConnection" connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|TestDatabase.mdf;Database=TestDatabase; Trusted_Connection=Yes;" providerName="System.Data.SqlClient" />
Next I created a Model and then Created a EntityFramework Controller, but now when I goto the controller index method I get this error:
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: SQL
Network Interfaces, error: 26 - Error Locating Server/Instance
Specified)
What am I doing wrong?
Make sure you testDatabase.mdf available in App_Data folder.
<connectionStrings>
<add name="ConnectionName"
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|DatabaseName.mdf;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
This connection string that you have written is incorrect.
<add name="TestConnection" connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|TestDatabase.mdf;Database=TestDatabase; Trusted_Connection=Yes;" providerName="System.Data.SqlClient" />
I assume that you have SQL Express installed in your system. This will provide a local instance of SQL to run on your machine.
As you said you are using Visual Studio 2017, you can follow these steps to get the correct connection string
Open Server Explorer
Right Click on your Database and click Properties
A property window will open, copy the ConnectionString and make sure it looks like this:
<add name="YourDbName" connectionString="Data Source=YourComputerName\SQLEXPRESS;Initial Catalog=YourDbName;Integrated Security=True" />
And now talking about this:
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: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
You are getting this error because it is not getting the instance name to connect to the database. In my example, SQLEXPRESS serves as an instance name. If you don't have SQLEXPRESS you can download it from here:
https://www.microsoft.com/en-in/sql-server/sql-server-editions-express
You can follow the prompt and install this package in your system.
Once you install this, your instance will get activated. Connect your Db once again.I am sure it will work.
In case, if this error comes again, you can follow these steps:
Hit Windows + R and type services.msc and hit OK
From the given lists, search for SqlServer (SQLEXPRESS) and click start the service. This will activate your instance once again and your database is now ready to connect to your application.
Hope this helps.

SQL suddenly fails to generate a user instance

I have an application deployed to Windows Server 2016 VM on IIS, using SQL Express.
It has been working perfectly all day, but suddenly I am seeing this error when trying to log in:
Failed to generate a user instance of SQL Server due to a failure in copying database files. The connection will be closed.
This is after making no changes to the code or web.config whatsoever.
I have tried these solutions already:
Restart SQL service and Delete all contents in C:\Users\SKotze\AppData\Local\Microsoft\Microsoft SQL Server Data\SQLEXPRESS
Add User Instance=true to the connection string
Ran this bit of SQL before restarting the service:
exec sp_configure 'user instances enabled', 1.
GO
Reconfigure
This is driving me crazy I just dont't understand why it suddenty stopped working.
Please let me know if I can provide any further details.
My connection string:
<add name="WebEntities1" connectionString="Data Source=ServerName\SQLEXPRESS;Initial Catalog=DBName;Integrated Security=True" providerName="System.Data.SqlClient" />

MVC Website Cant Connect to Database on Azure

This is my first MVC Website with a database hosted on Azure.
I have deployed the database and the website. However I get an Access Denied error message:
[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)]
What I don't get is that I can run the app via Visual Studio connected via the Azure connection string locally without any problems. I can speak to the db remotely but not within Azure!!!
Here's the connection string I'm using:
<connectionStrings>
<add name="myConnString"
connectionString="metadata=res://*/Models.MyModel.csdl|res://*/Models.MyModel.ssdl|res://*/Models.MyModel.msl;
provider=System.Data.SqlClient;
provider connection string="
Data Source = tcp:mybdurl.database.windows.net,1433;Initial Catalog=myDb;
persist security info=True;
User ID=MyId;
Password=MyPassword;
MultipleActiveResultSets=True;
application name=EntityFramework""
providerName="System.Data.EntityClient"
/>
</connectionStrings>
I'm guessing there is a missing magic Azure element that allows access. Both are in the same data centre and within the same account.
Cheers
I was publishing the web.config file individually in Visual Studio, not realising it wasn't actually updating on Azure. I went back to old fashioned FTP and indeed the live web.config was still the original not the one for Azure.
Manually uploaded it and it worked!
What didn't it publish???

System.Data.SqlClient.SqlException' occurred in EntityFramework.dll but was not handled in user code

I worked with c#(started to work). At first I created model. And by this model I created MVC 5 controller with views, using Entity Framework. I thought that all correct (that necessary table will be created by this model, and I can worked with local database), but when I would like to run my application and go to this page http://localhost:49640/ControllerName I get this error:
Additional information: 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: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.)
I tried to find some solution, but I didn't. As I understood it can be some problems with connectionStrings in Web.config or some problems with connection to server, but how solve this problem?
My connection strings:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-MusicApplication-20150620120938.mdf;Initial Catalog=aspnet-MusicApplication-20150620120938;Integrated Security=True"
providerName="System.Data.SqlClient" />
I download SqlLocalDb and installed it, this solve my problem. This link connection to local db failed 52 helped me.

Categories

Resources