Requirements to run SQL Server on other computers - sql

Suppose that I've created a project using MS SQL Server.
Now if somebody asks me to run my application on their brand new PC, should I install the entire SQL Server management studio on their computer? Or are there any other choices?
Please note that I just want to run my app (.exe template) not to debug it or anything else.

If your application is intended for standalone use on a PC, you can include the redistributable version of SQL Server Express in your installer. It's a limited but functional version of SQL server intended to be included with application programs like yours free of charge.
https://www.microsoft.com/en-us/sql-server/sql-server-editions-express
If your application program is designed for either shared or standalone use, and you have time to polish up your installer, you can ask your users whether they want to use a shared SQL Server instance. That will let you skip the installation of SQL Server Express when it's not necessary.

No they don't need SQL server or management studio , however they a database driver to access the server. ADO, ODBC and JDBC are the types of drivers you would look at. This depends on the language you wrote your application in and the connection string.
You clients would use the server's address and connect to it using the driver which is specified in a connection string. See the examples below:
.Net Framework Data Provider For SQL Server:
Server=myServerAddress;Database=myDataBase;User Id=myUsername;
Password=myPassword;
SQL Server Native Client 11.0 OLE DB Provider:
Provider=SQLNCLI11;Server=myServerAddress;Database=myDataBase;Uid=myUsername;
Pwd=myPassword;
If you application only connect to the database that you have a two-tier client server architecture. For the server to be reachable it needs to be on a network or network endpoint that the clients(people running your software) can see. The server needs to be on as well(your comments).

Related

SQL Server - Client Version

I am new to SQL Server and trying to familiarize myself with it, so I have some questions.
My background is Oracle and am wondering if it works very similar to SQL Server.
On a client machine we need to install a client version of Oracle, and with the installation it comes with a TNSNames.ORA file which has settings for all of the Oracle DB's which are located on an Oracle DB server.
I would assume that SQL server would follow something similar, install a client version of SQL server? If so, does SQL Server has something similar to local Oracle?
I've found how connect to SQL server from another computer, just wondering if I still would need a slim down/client version of SQL Server, I would assume yes.
https://technet.microsoft.com/en-us/library/ms345343(v=sql.110).aspx
Some of you might be asking, why don't you try it, don't have my second computer yet, would like this info. ahead of time.
Thank you
SQL Server client APIs include the low-level components needed to connect to and use SQL Server so there is generally no need to install other connectivity components. To name a few Microsoft ones:
ODBC: Latest version is ODBC Driver 13.1 for SQL Server
OLE DB: Latest is SQL Server 2012 Native Client
.Net Provider for SQL Server (SqlClient): included .NET framework
JDBC: Latest Microsoft version is 6.2
There are also a number of other open source and commercial APIs available for use in various programming languages and development frameworks (e.g. Tedious for Node.js).

Is this important to install sql server with an windows application set up

I have developed a application in c# which is windows based application. It stores data into database sql server. I want to know, when I create setup in VS and install it in a client computer should I install sql server software also or Is there any way without installing SQL Server in client's PC My application can function correctly.
sIf you use a filebased implementaion of SQL (localDB) you should be able to get away with a "setup" installing the neccecary dependencies to bootstrap the DB. (Someone correct me?)
If you use the DB in a hosted SQL environment (SQL Server running as a service), you will need to install SQL server on the deployed pc, and get the database up.
I am no sure if you can "automate" installing SQL server and getting the DB up from a setup app.
You have two deployment options for applications that contain SQL Server Compact 3.5 databases. The method of deployment you choose depends on the servicing requirements of your application and whether your users will need administrative credentials on the computer on which the application will be installed.
Following are the deployment options for SQL Server Compact 3.5 databases:
1. Traditional Microsoft Windows Installer (Microsoft setup technology)
a. Users need administrative credentials to install the application.
b. SQL Server Compact 3.5 will be serviced by Microsoft Update.
c. Can use ClickOnce deployment.
-or-
Private file–based deployment (deploying the SQL Server Compact 3.5 DLLs as part of the project)
1. Users do not need administrative credentials to install the application.
2. SQL Server Compact 3.5 will not be serviced by Microsoft Update.
3. Can also use ClickOnce deployment.

how to connect to SQL Server 2005 from Visual C++

Can anybody help to understand how to connect from Visual C++ to SQL Server 2005?
i am developing an ISAPI dll using Visual C++ and i need to query the database to fetch a few details. I tried to connect to the DB using CDatabase. When I invoked the dll from a local system, it worked without any issues. But when i access the dll from a remote system, it's throwing Login failed for user NT AUTHORITY/ANONYMOUS LOGON.
What should I do?
This Accessing SQL Server from a Web Application article give you the list of options you can use for SQL Server authentication. You can change the Identity of ISAPI Extensions to meet the demand of SQL Server once you choose an SQL Server authentication method.

Can SQL Server Express LocalDB be connected to remotely?

I am looking into using the new SQL Server Express LocalDB (I think it is code named "Denali") for a desktop application.
It is currently running with SQL Compact, but the user is wanting to share the database between multiple PCs on a network. Unfortunately this is not something that SQL Compact can do, so I am investigating other solutions.
The client requires the ability to send database files easily to other sites or to back them up to a flash disk, so I am avoiding going to SQL Express because there is quite a bit of "administrator" knowledge required to backup and restore.
So, my questions is, does the new SQL Express LocalDB support remote connections to the database over a network and/or through a shared network folder with the mdf file in it?
LocalDB does support supplying a path for an attached local DB in it's connect string (AttachDbFileName) hence the shared network folder option.
NOTE: This question pertains to "LocalDB" the new version of SQL Express 'Denali' and not to SQL Server Express 2008 or prior.
See article here announcing LocalDB's release: http://blogs.msdn.com/b/sqlexpress/archive/2011/07/12/introducing-localdb-a-better-sql-express.aspx
No, SQL Server Express LocalDB doesn't accept remote connections.
The idea with shared network folder might work, but only if you are able to make sure the LocalDB instance is shutdown before you try to copy the file. Also keep in mind that only one LocalDB instance can have any given database file open at the same time. and don't forget about the log files!
Additional security warning: unlike SQL Server Compact databases, SQL Server Express databases (including LocalDB ones) are not designed as secure data exchange format. For instance, they can contain malicious code in .NET assemblies embedded in them. So you should never open databases from untrusted source.
Maybe providing the customer with a simple tool that automates the backup process would be a better idea?
This isn't a fresh thread, but I would like to share my experience with SQL Server Express database LocalDB.
I have a WPF C# project using SQL database with LocalDb Engine. It is working fine no problem, I can use the database with the WPF app. I wanted this app to work on network with more PCs.
On the network another PC can use the database from my PC using UNC path in the connection string.
It seemed to me the remote connection is working. However when the remote PC is connected, I am not able to use the database with my local WPF app. If I run my app first the remote PC could not connect. So this tells me that the remote connection is working, but the multiple connection is not allowed.
OK, I didn't give up and I run the app from my PC twice and I saw it is working which tells me that the same SQL LocalDB engine can handle multiple connections locally only.
I hope this experience will help someone. Thanks.
In short, yes it can. Here is a tutorial on how to configure it.
Also, here is another post with a potential issue that might occur.
Both explain how to configure SQL Server Express to accept Remote Connections.

How to install Bug Tracker .Net tool software in my System?

I have installed ASP .NET 2.0 MVC3, SQL server express 2005 and SQL server Management studio express 2005 and IIS 7 in my system. If I am opening the install_btnet file, and providing the SQL server details also it is not getting connect. It is giving error as Service unavailable. Any one suggest me how to install Bug tracker .NET tool in my system with examples.
Thank you.
First thing to check it that your SQL 2005 express instance is running and allowing remote connections. Open the Administrative Tools >> Services and look for the service called "MSSQLSERVER$SQLEXPRESS" and ensure it is started.
Next, open the SqlServer Configuration Utility (on the server or PC where SQL 2005 Express is Installed) Look for the Client Configuration Option and Select "Client Protocols".
Set TCP/IP to "Enabled" and you should now be able to connect to your SQL server.
Note that even if your BugTracker.NET install is on the same machine, it may still be using the network to connect to your SQL Instance.
Hope this helps,
Dave