I am using Visual Studio 2010/c# and created an application where I am trying to access as a data source,a database which I created in SQLSERVER Express (via management studio).
I have several instances from previous installs which I remove -
SQL COnfiguration manager just shows 1 instance SQLEXPRESS which got installed as a named instance "mymachine/sqlexpress".
Named pipes, TCP/IP and remote clients are all enabled.
I am running under windows 7 64 bit and both the dev environment and sql are in the same PC.
When I try and configure the connection I go to the physical path where the file resides, add it but the test connection button fails with the msg failed to generate a user instance of sql server, only an integrated connection can generate an user instance
The solutions I found don't seem to apply.
User Instance is already enabled (set to 1) and I could not find any path to remove "old instances" there is only 1 path leading to the currently installed Instance.
Help would be appreciated
Using Visual Studio SQL Server database through IIS7,
they use default asp.net database.
Following might help,
Open IIS manager.
create a new application pool instead of using default application pool and keep your database in that.
Go to sql configuration manager > go to properties.
Select local system instead of built in system.
In the default browser option, Delete all the other files and paste your .asmx file.
See in actions. If anything is disabled, enable it.
Hope it helps. :)
Related
I have developed a c# windows application which uses SQL server 2012 database in Visual Studio 2015 which is running well on my pc.
I am to install this application on a number of computers without SQL server installed on it, but when I run the application, its gives me database connection error.
My question is, how can I create the setup file to be able to run the app on those clients pc without installing SQL server on all those computers. Please I need your help.
Thank you.
Am Emmanuel.
Use an Azure database and have the clients connect to that.
Have a look at https://azure.microsoft.com/en-us/services/sql-database/
Alter your application connection string and make sure you keep the connection string secret.
Server=tcp:myserver.database.windows.net,1433;Database=myDataBase;User ID=mylogin#myserver;Password=myPassword;Trusted_Connection=False;Encrypt=True;MultipleActiveResultSets=True;
An important fact is that the clients need to allow communication via port 1433.
If this is not an option create an API application and query the database via that.
If you need a private database per client you can use a database file and connect to the file
https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/sql-server-express-localdb?view=sql-server-ver15
Update based on reply
You can create a pop-up on the application allowing the users to add valid settings and credentials when your appsettings.json is blank or "a test connect" to the database fails.
I have written an application in C# using Visual Studio 2010 which uses SQL Server as it's back-end.
I would like to create a setup program for this application with all perquisites such as SQL Server Express and so on.
What I want is setup program to ask the user either to install the SQL Server Express or use the existing instance. If user opts for existing instance then Setup will ask for credentials and write the credentials in configuration file using encryption (Encryption class is already implemented).
If user opts for new instance installation, then setup will install the SQL Server Express with a specific Instance Name and also create the initial database. Setup will then use this instance's credentials in configuration file.
I am new to Setup and Deployment so please help me.
Thanks in advance
When I install SQL Server 2008 R2, the Database Engine Services feature don't install due to the error "The Trust Relationship between the primary domain and the trusted domain failed."
For context, I'm trying to get into ASP.NET MVC3 and when I try to add/browse a database in Visual Studio 2010, I get errors saying that it can't connect to the SQL Express database, Error 40. When I run the SQL Server Configuration Manager, and select the SQL Server Services, I get "The remote procedure call failed [0x800706be]"
I did some research, regarding this error 40; I've tried, to run Server Configuration Manager as a Administrator, change the TCP/IP settings in Client Protocols to Enabled, and it still didn't work. I uninstalled SQL Server 2008 R2 and reinstalled it and found that the Database Engine Services and SQL Server Replication failed to install, with the error message "The Trust Relationship between the primary domain and the trusted domain failed."
Any ideas?
Delete EVERYTHING.
This is dedicated to anyone who thought like me and thought you could get rid of one or two things, and reinstall. Anything with SQL Server, delete it. Make that Add/Remove Programs as clean as possible before reinstalling the server.
Also, be sure to have administrative rights/run as Admin turned on. Otherwise you may have a SQLEXPRESS server running, but you can't access it (or because of my work computer) delete it due to a user rights issue that goes beyond the scope of Stack Overflow. :)
In that case, you should be able to install a new instance (I.E. SQLEXPRESS1). Just be sure to check your data connection strings. :)
I have gone through every checklist I could find for configuring SQL Server I could find. I get the same issue on Windows Server 2008 and Windows 7 Pro. First the environment:
SQL Server Express 2012 --installed as main instance (i.e. no named instances)
IP access turned on
Firewall exception for SQLServer
SQL Server user for application access
Windows Server 2008 service pack 2 (also tested with Windows 7 service pack 1)
IIS 7 (also tested with 7.5 with the same results)
.NET 4.0
Our own database code integrated in a .NET MVC 3 application
We have a tool we developed to import data from the old Ruby on Rails app into the new ASP.NET MVC 3 app. The tool can connect to the database using the user account we created, and that's how I discovered some permissions issues for access to stored procedures. This is the tool we are using to verify the connection works.
Data Source=SERVER_IP,1433;Network Library=DBMSSOCN;Database=MYDB;User ID=webuser;Password=webpassword;multipleactiveresultsets=true;
We are using a straight IP address, but to protect our infrastructure I substituted the IP, username, and password. But this is the structure of the connection string we are using. Following the checklists, I was able to connect from another machine on our network using the import tool to the database and import data. I was also able to import data from the same machine that IIS is installed on.
The same connection string provides the dreaded Error 26 "can't find the database server" message on both Windows Server 2008 and Windows 7 Pro:
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 have exhausted every resource I can find, and can't seem to get any closer to an answer. I'm not trying to mount file based database, IIS has read/write access to the web application in any case.
I've ruled out the firewall as a cause for the issue. I've tried the settings with the firewall on and completely turned off. There has to be some other permissions level problem that's happening. Problem is I have no idea what permissions level things I have to check.
After opening a ticket with Microsoft, it turns out I was my own worst enemy. The model classes were set up in their own DLL so I could use them for data migration and other supporting tools for the website.
The DLL was looking in the assembly config for the connection string, and if it wasn't found it would use a reasonable default. Problem is the web application never overrode the location from the Web.config file.
The application couldn't find it because I didn't install the database with the default settings.
I have a web site developed locally with a local Sql Server database. I also have a web host that provides one Sql Server database for my site. Now I want to deploy the application, and I would like to be able to manage the remote database from the Server Explorer in Visual Studio. I have the connection string used in the application, which works fine for adding, say, a datasource to a control etc. But I don't know if there's any way to use it to connect the database inside the Server Explorer so that I can add tables etc. I have read that you're supposed to be able to this instead of using the Sql Server Management Studio, but I have'nt read anything about how to connect to the remote database in it.
What I have tried so far is this: I have selected Add database in Server Explorer. This brings up first a dialog where I choose Sql Server. And then I get a dialog where I can set Server name (which I tried using the ip address in the connection string below), and Authentication (where I chose Sql Server Authentication, with the user id and password from below). But when I test the connection it fails.
Here's the connection string, which works fine when used for datasources in the application (obviously with different user name and password):
Any help appreciated!
EDIT:
Well, I've done everything suggested by lewiguez below now, but it doesn't make any difference. I can't believe this should be so hard... I keep getting this error message in Sql Server Management Studio:
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) (Microsoft SQL Server, Error: 53)
Here's the process I follow for working with remote databases:
In VS 2008 under the Server
Explorer tab, right-click on "Data
Connections" and then click "Add
Connection"
Change the Data Source to
"Microsoft Sql Server"
Put in your fully-qualified
"Server Name" (be it IP Address, domain name, etc.), select "Sql Server
Authentication" and put in "User
Name" and "Password" for the database user
Select the database you want to connect to under "Select or enter a database name"
Hit "Test Connection" to test and then "OK" to accept
You should be able to interact with the database at this point by expanding the connection and then the "Tables" folder. For example, right-click on the Tables folder and you'll be presented with an "Add Table" option in the dialog. Right-clicking an existing table will bring up the "Open Table Definition" options where you can change any columns, etc.
If you're not getting to this point (and it sounds like you're not), I'd recommend checking your Sql Server connection from whatever machine you're using.
I generally do this by going into the Management Studio and connect with whatever credentials I'm trying to use. If they don't work, make sure they are, in fact, added as a Sql Server user and a database user (they have to be both).
Also, I would check in the Sql Server Surface Area Configuration Manager. You have to allow TCP connections and you have to be set up to allow Sql Server Authentication connections as well from remote hosts. If THAT'S all set up, but you still can't connect, I'd double-check to make sure your firewall is allowing Sql Server connections. The default port is 1433.
Also, if you can connect, but then can't write to anything, double-check your table permissions. Hope this helps!
I finally understood the problem: as I suspected the settings in my own installation was not the problem, but rather it was the settings on the Sql Server installation on my web host. And in fact I found a place in the control panel on my web host where I could set an exception to my ip address so that my ip would be granted access to the port 1433 for Sql Server, which is otherwise closed by default for security reasons.
I've had no luck finding any information about this at all on the internet, which I find strange. All the information I could find had to do with changing these settings on your own local installation of Sql Server. But I'm sure there are loads of people out there who like me use a web host for deploying their web site, and then that info doesn't seem to apply. (Perhaps apart from the TCP setting, which I think must be set, and there's detailed info about that here: http://www.linglom.com/2009/03/28/enable-remote-connection-on-sql-server-2008-express/ )
Hope this helps someone else who like me uses a web host. Now everything works fine for me at least, both in Management Studio and in Visual Studio Server Explorer.