Connectionstring to mdf file - asp.net

I've created this MVC4 web application and went with a local MDF (localdb?). It's located in the \App_Data folder of my project. It's name is SiteDatabase.mdf.
But right now im struggling with the connection string, how can I "link" it up?
I got this:
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=SiteDatabase;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\SiteDatabase.mdf" providerName="System.Data.SqlClient" />
Where SiteDatabase.mdf is located in my App_Data folder.
The error Im getting:
Server Error in '/' Application.
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.)

Create a udl file, if it connects then the problem is the code / application, if it does not connect, then it's your firewall, connections string, dll library etc. Well the important thing here is probably the connection string. Do the following: create an empty text file and rename it "myconnection.udl". Now double click on the file and it will launch an applet. You can configuer the connection to your database and test it. (it will pick up registered connection libraries etc). If it give OK, then open the udl file in notepad, you will see the correct connection string. Paste to your app connection settings. UDL files are generally misunderstood. They are simply a text file that holds the connection settings. They then call the connection dll. If the udl file works then you have a correct connection string 100%

Try add before your connection string
<remove name="LocalSqlServer" />

Related

ASP.NET MVC network-related or instance-specific error

I am getting this error
System.Data.SqlClient.SqlException: '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)'
When I try to run my ASP.NET MVC project. Opening it for the first time on this PC.(I try to register a user and the database doesn't get created and I get the error above.) The database should get created the first time I hit the database PS: It's a code first project
I thought I know how to fix it until now.
The project runs on my other PC but on this not.
So I thought I'll go and change the connection string to
<connectionStrings>
<add name="foo"
providerName="System.Data.EntityClient"
connectionString="Data Source=localhost"/>
</connectionStrings>
(just change the Data Source= to localhost)
The constructor in my DbContext is
public EventManagerDbContext() : base("foo")
{
}
Still I can't run my project.
PS: I am able to connect to my database using the SQL Server Management Studio, but not from the project. Why is that?
I realised that the problem was that my connection string was placed in the Data Access Layer. But it has to be in the ASP.NET MVC application right? Would like some clarification.
Provide a complete details to your connectionstring like this:
<add name="foo" connectionString="Data Source=.\SQLEXPRESS2014;Initial Catalog=NameOfYourDB;
Integrated Security=True;"
providerName="System.Data.SqlClient" />
I suppose that your localhost is .\SQLEXPRESS2014 is your local machine server name.
To get the full server name on your part, connect to server, under Server Name, choose Browse for more option, then select Network Servers tab, and it will list your qualified server name:

Unable to connect to SQL Server database with studio express 2012 for web

I cannot connect to SQL Server database.
When I run the aspnet_regsql.exe utility, I get the following error message:
Setup failed.
Exception:
Unable to connect to SQL Server database.
Details of failure
System.Web.HttpException: Unable to connect to SQL Server database. ---> System.Data.SqlClient.SqlException: 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)
Also, I am unable to use the ASP.NET Website Administration Tool. When I click on the Security tab I receive the following error:
There is a problem with your selected data store. This can be caused by an invalid server name or credentials, or by insufficient permission. It can also be caused by the role manager feature not being enabled. Click the button below to be redirected to a page where you can choose a new data store.
The following message may help in diagnosing the problem: Unable to connect to SQL Server database.
So, I click on the 'Choose Data Store' button as instructed, which allows me to select a a Provider. The provider is named 'AspNetSqlProvider', it has a Test link beside it. I click on Test and receive the following error message:
Could not establish a connection to the database.
If you have not yet created the SQL Server database, exit the Web Site Administration tool, use the aspnet_regsql command-line utility to create and configure the database, and then return to this tool to set the provider.
I have lost overtime for this problem, but i cannot fix it. I hope everybody can help me.
I look forward receive the good answer as soon as possible. Sincerely thanking you very much for your help.
I encounter the same problem in my ASP.NET MVC project as you, when using the ASP.NET Website Administration Tool. The solution is to check and modify your web.config file. I just change the following attributes (add a field):
1) from
<profile>
<providers>...</providers>
to
<profile defaultProvider="DefaultProfileProvider">
<providers>...</providers>
2) from
<membership>
<providers>...</providers>
to
<membership defaultProvider="DefaultMembershipProvider">
<providers>...</providers>
3) from
<roleManager>
<providers>...</providers>
to
<roleManager defaultProvider="DefaultRoleProvider">
<providers>...</providers>
And, be sure to have something like:
<connectionStrings>
<add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MvcApplication1-20160111151822;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-MvcApplication1-20160111151822.mdf" />
</connectionStrings>
and the "DefaultConnection" has a corresponding field connectionStringName="DefaultConnection" under <profile>,<memebership>and <roleManager> tags, which are modified as stated above.
If you still have problems in your MVC project, just create a new full ASP.NET MVC Web Application template, compare the web.config file with yours, and modify your web.config file.

SQL Server 2008 connectionString question

I'm trying to connect to my SQL Server 2008 database with ASP.NET MVC 3. Here is my connection string:
<connectionStrings>
<add name="AppConnectionString"
connectionString="Data Source=(local);Initial Catalog=DatabaseName;User Id=UserName;Password=PassWord;"
providerName="System.Data.SqlClient" />
</connectionStrings>
Any idea of what's wrong?
When I try to query something in my DbContext I get this exception:
$exception {"The provider did not return a ProviderManifestToken string."} System.Exception {System.Data.ProviderIncompatibleException}
InnerException {"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)"} System.Exception {System.Data.SqlClient.SqlException}
Could someone help me please?
Thanks
First check if your mssqlserver services are running fine. Just run net start mssqlserver in your command prompt.
Then try changing the connection string Data Source=(local) to Data Source=.
All the above is assuming that you have sql server installed in your local machine.
That error means that either the name of your Data Source in your connectionstring is wrong or that your sql server is not configured to allow remote connections : see here how to fix it.
Can you ping the server?
You can create a new empty text file, rename it to test.udl, double click on it and create your connection string that way. (A dialog will open and you can select provider, server, database etc).
also, have a look at www.connectionstrings.com for example connection strings
There is also the instance to take into account. eg if you use sqlexpress it may be (local)\SQLEXPRESS
Besides (local) try (localhost) or 127.0.0.1 (loopback address - and no place like ;-)
Also a single period will "." resolve to the local machine.
Your connection string and the advice above assumes that you are trying to connect to an unnamed, default instance. If your server instance is named then you need to include that as part of your conn string, like: .\ServerName
More great info can be found at: http://connectionstrings.com
I had a similar problem, and these are the steps that helped me:
1) Your application must have an App.config containing a connectionstring named with the same name as your class that inherited from DbContext. In my case "TestEF_CF.ProductContext".
<add name="TestEF_CF.ProductContext" connectionString="Data Source=localhost;Initial Catalog=ef_cf_test;Integrated Security=True" providerName="System.Data.SqlClient" />
2) The database cannot be created before you start to use it. Just set the Initial Catalogue to the name you want Entity Framework to create when it autocreate the database.
See my stackowerflow question for more information if you need it:
Entity Framework 4.1 Code First Freeze
If you look at the InnerException it's possible that what you actually have is a Login issue.
What I had to do to fix this was, change the account the DefaultAppPool runs as, to NetworkService (go to Advanced Settings and change Process Model, Identity) and then pick an account which has access to your database.
Assuming of course your app is running in IIS using the DefaultAppPool.
I made it NetworkService and granted the NT AUTHORITY\NETWORK SERVICE user access to my existing database.
This then allowed me to connect. My case might be specific but I thought I'd share just in case.
SqlConnection [object name];
[object name] = new SqlConnection("Data Source=Server_address/name;Initial Catalog=myDatabase;Integrated Security=True");
[object name].Open();
Note: The square brackets which is shown should not be putted, only object name have to be placed.
Server_address : Your Computer name.
myDatabase : your Database name.

instance failure error in asp.net web site

I have a website included login module.when i hosted the website in iis there is an error
Server Error in "/" Application.
system.invalid operation Exception: Instance Failure
My ConnectionString is like this
<add name="MyConnectionstring" Connectionstring="Data Source=IP Address,1433;Network Library=DBMSSOCN;initial catalog=Databasename;integrated security=True" Provider Name="System.data.sqlclient"/>
How can i solve this problem?Any one knows Please help me
Simply change DataSource=My-PC\\\SqlServer2008 to DataSource=My-PC\SqlServer2008 in your Web config because the previous one is valid one you are writing in Code Beind file but not in Web config file as it is an XML file.
The first thing I noticed is that you need to replace IP Address in your connection string with the actual IP address and Databasename with the actual database name. You also don't need ",1433" after the IP Address since 1433 is the standard port.
Second, is the SQL you are connecting to the default instance on the machine? If it is a named instance, you need to make sure to include the name in the data source setting.
Third, does the ID the ASP.NET process is running under have authority to connect to the SQL Server instance?

Error: 40 - Could not open a connection to SQL Server - only on Staging website

I have two ASP.NET websites on a web-server, and two SQL Server databases.
I have a folder for Website #1, which contains a web.config with a connection string pointing to Database #1.
Under the folder for Website #1 there's a staging folder called 'staging', containing Website #2, and the web.config there has a connection string that points to Database #2.
Website #1 works perfectly.
But when I try to run Website 2, I always get the following 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: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
I've verified that the connection string is correct and that it's pointing to Database #2.
But even when I swap in the connection string from Website #1, which works perfectly on Website #1, it still fails.
Here's what the connection string looks like:
<connectionStrings>
<add name="WebsiteConnectionString" connectionString="Data Source=localhost;Initial Catalog=WebsiteStaging;User Instance = false;User Id=xxxx;Password=yyyy" providerName="System.Data.SqlClient" />
</connectionStrings>
Is there anything unusual going on here that I'm not aware of?
Not sure which version of IIS you're using, but you might need to create two separate web applications: one pointing to the Website #1 folder and the other Website #2.
When you view Properties of the Website/virtual directory, the Application name should be set for both directories. Is this the case?
LOCALHOST is for IIS
(LOCAL) is for SQL Server
My connection strings usually say "Server=(LOCAL);Integrated Security=SSPI...."
I would check the security tab to find out the identity that both web sites are running under.
Really sorry... looks like it wasn't to do with the connection at all.
It was because the Linq-to-SQL data-layer (which was in another project) was referencing its own connection string (even though, wherever I instantiated a DataContext in the Website project, I always used the web.config connection string as a parameter).
But thanks for your answers, those would probably be good things to check, had the above not been the problem.

Resources