How to create an already existing database in Visual Studio? - c#

I am trying to run an application that has been downloaded from GitHub. The creator of the project provided usernames and passwords to log in for the application. Whenever I try to log in, I get an error that says:
"System.Data.SqlClient.SqlException: 'Cannot open database "Library" requested by the login. The login failed.
Login failed for user 'DESKTOP-CBKOJI6\user'."
I tried doing the following but I still keep getting the same error
Cannot open database "test" requested by the login. The login failed. Login failed for user 'xyz\ASPNET'
<connectionStrings>
name="DbConnection"
connectionString="Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=Library;Integrated Security=TrueConnect; Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False" />
</connectionStrings>
This is the database that is in the App.config
The error I get is in this line of code:
con.Open();
EDIT 1:
Link for the project >> https://github.com/RuXeR97/Library

You have to actually create the database first... You can't log into it if it doesn't exist.
Did the download come with a database project (you can publish that through visual studio), or .sql files (you can run them in SQL Server Management Studio) to create the database first.
Maybe link to the github project so we can take a look?

Data Source=(localdb)\MSSQLLocalDB;
According to this line of code, you are trying to log into a local database which is supposed to be created by yourself locally. If the Github author already created a database on server and provided you with credentials, then all you have to do is to update this localDB server by the server name he provided in Github page.

Related

Error in accessing local db after deploying my application in different pc

I have a C# application which accesses a local auto-named database like DB_Users.mdf to pull out user connection details.
My connection string is:
Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\DB_Users.mdf;Integrated Security=True
When I deploy this application on a laptop, I get an error like this
The database"C:\ProgramFiles(x86)\ISTL\PCArchieSetup|DB_USEr.MDF" can't be opened because itis version 852 ,the Server support version 782 and earlier.Couldn't open new database "C:\programfiles\IstL\PcArchie\DB_users.mdf"Create database is aborted.An attempt to attach an auto-named database for file "C:\programfiles\IstL\PcArchie\DB_users.mdf" failed. A database with the same name exist or specific file cannot be opened on UNC share
Initially, I thought this VS version problem. So I updated to VS community 2015. But still getting the same error. I suspect the file location it's trying to access is the problem. But don't know how to resolve it. Can you share your thoughts on this? Thanks in advance for your help.

uCommerce Installation Error for Umbraco 7

Using Umbraco version 7.1.4 assembly: 1.0.5261.28127
Download install package from ucommerce.net - uCommerce-for-Umbraco7-6.6.2.15058.zip
Attempted to install multiple times. First (10+) times that database was on Azure. The install doesn't "error" out, but I would suspect that I would have more database tables created in the database that I have:
The installation created an icon in the backoffice, uCommerce. However, when I click on it, I receive this error:
Server error: Contact administrator, see log for full details.
Failed to retrieve data for application tree uCommerce
In my log file:
ERROR NHibernate.AdoNet.AbstractBatcher - Could not execute query: select user0_.UserId as UserId100_, user0_.ExternalId as ExternalId100_ from uCommerce_User user0_ where user0_.ExternalId=#p0
System.Data.SqlClient.SqlException (0x80131904): Invalid object name 'uCommerce_User'.
I found this link, Invalid object name 'uCommerce_User', which suggested to bring the database off of Azure.
I duplicated the database from Azure to my local, and changed the connection string. I browsed to the local instance to make sure that the connection string was working. Attempted to re-install another (10+) times, and still receive the same error when clicking on the uCommerce icon in the Umbraco backoffice.
It's obvious that I do not have uCommerce_User table created, as all the tables that were created from the installation are in the image above. I attempted to run all 128 sql files from the installation folder in the package, but after the 4th script I began to receive constrant errors.
I have full rights to create tables, and do not know why it is erroring out. Anyone else have/had this issue?
Apprec -
I removed all constraints from the Azure db regarding uCommerce tables, then deleted the uCommerce tables, and THEN re-ran all 130 sql scripts, and it installed OK. Now the uCommerce section in Umbraco is loading.

Error in update-database command in code first migration

I am working on Desktop application in WPF and creating SqlRepository with LocalDB to store data. I am using following tools
Visual Studio 2013 Community with update 2
Entity Framework 6.1.2 for Code first migration
I have created local database with Microsoft SQL Server Database File (SqlClient) configuration. Database created successfully and below is connection string fetched from Sql
Data Source=(LocalDB)\v11.0;Initial Catalog=D:\USERS\USERNAME\DOCUMENTS\TestDatabase\testdb.MDF;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False
I am using same connection string in app.config. I can view database object in SQL Server Database explorer in Visual Studio. But when run update-database command in Nuget package manager console, I am getting below 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)
I had similar problem and fixed it when I changed the "start-up project" from another module to the module containing references to all other projects in the solution.
Right-click module >> click "Set as StartUp Project"
Diego's answer is correct.
This problem occurs when there is no connection string in project marked as startup project. Then EF tries to connect to some default database engine to perform update. In my case it tried to use express, and for some reason it couldn't connect. And the error was thrown.
Run your "update-database" with option "-Verbose". One of the lines there shows which StartUp project is used. Check your connection string in this project, or change the startup project to the one that has correct connection string. That solves the problem.
As explained in other answers, the problem usually comes from having the wrong Initial project in Package Manager Console.
In my case the console was ignoring the value I selected in the Default Project drop down list, and also the -StartUpProjectName parameter, and reproducing the wrong behavior of trying to connect to some default database engine, as Mikk's answer describes, in my case using a SqlExpress engine.
My problem was caused by a wrong solution configuration: if your solution has several projects and is meant to be run with the configuration option "Multiple startup projects", but you just downloaded it from your source code control repository, then it is possible that the default configuration option "Single startup project" is being applied to the solution (this config value usually is not checked-in in the source code control). In this case the Package Manager Console just ignores the startup project selected in its combo and just applies the default startup project in the solution, which may not have a connection string, as specified in Mikk's answer.
So I fixed it by changing the solution properties: Common properties / Startup project / Select Multiple startup projects instead of Single startup project, and after that the Package Manager Console would accept the Project name and update the right database.
I was able to solve this by adding parameters to the update-database command:
update-database -StartupProjectName MyApp.Web -ConnectionStringName MyAppConnectStringInWebConfig
I solved this error changing the initial project to the Entity Project.
Look:
Update-Database -Verbose
Using StartUp project 'SCVE.Web'. <-- this ir error
Using NuGet project 'SCVE.EntityFramework'.
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)
This error message informs you that it is not possible to connect to SQL Server. The possible reasons and their elimination is described below:
1) SQL Server is not started. Starting of it will allow you to see your SQL Server/instance in the drop-down list of available SQL Servers.
Go to the Start menu -> Control Panel -> Administration Tools ->
Services.
In the list of services find SQL Server (instance name, by
default it is EZPARTS5) and check its status, it must be Started
(if it is not started, then right click on SQL Server and select
Start from the context menu).
2) Firewall is blocking port 1433 (MSSQL standard port for connections). It can be disabled following the steps below:
Go to the Start menu -> Control Panel -> Administration Tools ->
Services.
Find Firewall service, it must be disabled (if it is not, then right
click the service and select Stop from the context menu).
Note: More information on this can be found on the official Microsoft site: Link
3) TCP/IP protocol is disabled for MSSQL protocols. To enable it, see the steps below:
Navigate to SQL Server Configuration Manager in the Start menu.
Specify settings for TCP/IP protocol in SQL Server Configuration
Manager.
Restart the computer.
Note: More information on this can be found on the official Microsoft site: Link
4) Make sure your database engine is configured to accept remote connections (If you are using centralized database):
Open SQL Server Management Studio.
Right click SQL Server instance -> Properties -> Connections ->
Check the Allow remote connections to this server box.
Go to the General section and check name of SQL Server specified in
the Name field.
5) If you are using a named SQL Server instance, make sure you are using that instance name in your connection strings. Usually the format needed to specify the database server is machinename\instancename.
6) Make sure your login account has access permission on the database you used during login.
Alternative:
If you still can’t get any connection, you may want to create a SQL account on the server, a corresponding SQL user on the database in question, and just use this username/password login data to connect to SQL Server.
Referred from this link
Try with this Connectionstring:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=D:\USERS\USERNAME\DOCUMENTS\TestDatabase\testdb.MDF;Initial Catalog=testdb;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
If you are trying to connect to Sql Server instead of localdb then make sure the default connection factory in web.config file is as below:
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
<parameters>
<parameter value="Data Source=.\SQLEXPRESS2012; Integrated Security=True; MultipleActiveResultSets=True" />
</parameters>
</defaultConnectionFactory>
I had this same problem with a freshly created ASP.NET project.
First I tried to set the startup project as mentioned above. There was no startup project selected and I was unable to select one.
Ultimately I updated my Visual Studio from 2015 Update 1 to 2015 Update 3 and
update-database
executed without problems.
PM>Update-Database
error and solution which I did today in 4 hours.
I am very much new in .net coding, but yes in PHP I have 10+ years experience.
It took me 4 hours to solve this.
1.My first Mistake: I was not having Microsoft SQL Server 2019 in my laptop locally I was having this through AZURE which is not works for localhost, so I installed this locally after download, it took around 2 Hours.
2.Second changed mistake=
"DevConnection": "Server=localhost;Database=PaymentDetailDB;Trusted_Connection=True;MultipleActiveResultSets=True;"
then it works for me

SqlExpress LocalDb can't open file

I have two MDF files in a directory down the AppData/Local path. If I attempt to open them using LocalDb.
My connection string is of the form:
Data
Source=(localdb)\v11.0;AttachDbFilename="C:\Users\Anna\AppData\Local\CaseTrakker
Software\CTDynamoDisconnected\CTDynamoDisconnected_Data.mdf";Integrated
Security=True;Connect Timeout=10
I have a sample desktop application that attempts to connect to this MDF, and I get this exception:
System.Data.SqlClient.SqlException (0x80131904): Cannot open database
"C:\USERS\ANNA\APPDATA\LOCAL\CASETRAKKER
SOFTWARE\CTDYNAMODISCONNECTED\CTDYNAMODISCONNECTED_DATA.MDF" requested
by the login. The login failed. Login failed for user 'IMA\Anna'.
If I move this file to any other location, or rename it (even to a name that is longer), I am able to connect to it.
There appears to be something peculiar about this location or something.
One other odd thing: it worked last week. So far as I am aware, nothing has changed on my machine or my Domain Security.
I'm at a complete loss as to what else to even try. Ideas?
Can you check if there is anything interesting in the LocalDB instance log file? It is located by default in %localappdata%\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0 folder.
One cause of this problem is if you go into your C:\Users\[username] folder and delete the MDF and LDF files. If you do this, then that's akin to doing the same thing to full-blown SQL Server. The server instance still thinks it has the databases but they're obviously not going to work.
A work-around to the problem is to change the database name in your connection string and it should just work.
To actually fix the problem, open up SQL Management Studio, connect to server (LocalDb)\v11.0 (likely with Windows Authentication) and you can detach these databases this way.
In my case I had that DB for a while and mistakenly deleted its MDF and LDF files.
To solve this, I opened SQL Management Studio and connected to (localdb)\MSSQLLocalDB using Windows Authentication then created manually a new empty DB with desired name like that in web.config connection string
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;Initial Catalog=myDb;Integrated Security=True;" providerName="System.Data.SqlClient" />

Connection to SQL Server is failing from executable

I have a windows Application written at C Sharp, which is updating data store in SQL server 2008. When I am running application from .Net, I have no issues. I compiled application and install on the same laptop. When I run exe file I am getting the following error: "System.Data.SqlException (0x80131904): A network-related or instance-specific error occured while-establishing a connection to SQL Server. The server was not found or was not accessible".
Why I can connect to SQL server from MS Visual Studio, and not able to make connection to SQL from executable file (same laptop) ? Thank you.
Make sure the config file where your SQL connection string should be stored is next to the exe file when you install your application.
Please ensure that you have a file called "projectname.exe.config" right next to your exe. If so, then please ensure that you have the SQL connection string in this config file. If so, the please ensure that it is the correct connection string. Also, please ensure that the user account specified in the connection string has access to the DB. If you are using windows authentication (SSPI) then please ensure the your windows account has access to the DB.
NOTE: the config file name MUST be "exeName.exe.config". The exeName is usually the project name. Just in case you have changed the exe name from the default.
Hope this helps.

Categories