Connection string using SQL Server authentication in C# - c#

I am creating an Excel file in C# with SQL Server. I've tried several connection strings, but it keeps saying that it does not recognise my user ID (the ID is valid and can connect directly to SQL with this)
Can you help me, or tell me where is the error that comment?
Below I show the connections I've tried
connectionstring = "Integrated Security = SSPI;Initial Catalog='DATABASENAME'; Data Source=XXX.XXX.X.XX; ";
connectionstring = "SERVER=XXX.XXX.X.XX;DATABASE=DATABASENAME;UID=sa;PASSWORD=pass;";
connectionstring = "Persist Security Info=False;User ID=sa;Password=pass;Initial Catalog=DATABASENAME;Server=XXX.XXX.X.XX";
connectionstring = "Data Source=192.168.0.18;Initial Catalog=DATABASENAME;Persist Security Info=True;User ID=sa;Password=pass";
connectionstring = "Persist Security Info=False;Integrated Security=true;Initial Catalog=DATABASENAME;server=(XXX.XXX.X.XX)";
connectionstring = "Data Source=XXX.XXX.X.XX,1433;Network Library=DBMSSOCN; Initial Catalog=DATABASENAME;User ID=sa;Password=pass";
cnn = new SqlConnection(connectionstring);

Here is the sample connection string format
Data Source=[server];Initial Catalog=[databasename];User ID=[sa];Password=[password]
example - named instance
Data Source=localhost;Initial Catalog=master;User ID=sa;Password=sa123
in case of the default instance
Data Source=localhost\sqlexpress;Initial Catalog=master;User ID=sa;Password=sa123
if you are trying to access express version from another machine please refer and replace localhost with ip or machine name.

Navigate to C:\Windows\System32\odbcad32.exe. Go to the Drivers tab and then check to see which ODBC drivers you have installed on your system.
Then go to this website and follow the links at the top for whichever ODBC driver you have installed on your system. For C# you may or may not need the Driver= buts its usually safe.
This is the connection string which usually works for me in C# asp.net, however:
Server=[SERVER];Database=[DATABASE];Uid=[USER];Pwd=[PASSWORD]
(note how it is different than yours: Pwd= as opposed to Password=)

"HP\\ADMIN;Initial Catalog = PAY_PROCESSING_GO; User ID=sa; Password=admin#123"
this is my connection string but connection consist Keywords. How to solve this problem

Related

Connect to a SQL Server database without a set file path

I am attempting to connect to a local SQL Server database in C#.
I am currently using the following connection string:
connectionString = #"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\User\source\repos\majorWork\majorWork\gameStats.mdf;Integrated Security=True";
However, I do not want to use a hardcoded file path, as I wish to be able to use the application across multiple computers, where the file path will be different. How should I go about doing this?
Best way is set this connection in Web.Config file.
<Database>
<ConnectionString name="connection">Server=servername; Initial Catalog=dbname; Persist Security Info=False; User ID=username; Password=password; MultipleActiveResultSets=False; Encrypt=True; TrustServerCertificate=False; Connection Timeout=30;;</ConnectionString>
</Database>
Then add Add System.Configuration as a reference.
in C# you can call this
string constring = ConfigurationManager.ConnectionStrings["connection"].ConnectionString;
After that you can create new connection instance by passing this to
SqlConnection con = new SqlConnection(constring)
If u install SQL server express using the default instance, then you can connect using . as your server name anyone can use it with default instance as well.
1.then in visual studio, click on solution explorer
2. Connect database, follow the instruction for SQL server
3. When it gets to server name use . to connect and choose your database name which you have created already in ms SQl, then test your connection
4. After it successful, u can now click on the database name showing under solution explorer,
5.after u click the database name, at the button right corner, there will be a connection string, copy it and use
This will be declared publicly or globally
Sqlconnection con = new sqlconnection("paste the connection string");
And to use
Sqlcommand cmd = new sqlcommand("insert into......",con);
Con.open ();
Cmd.executenonquery();
Con.close();

How to create connection for mdf files

I am creating a Windows application with a local database.
Now I need to define a connection string for that local database in C#.
What is the connection string for local .mdf files in Winforms C#?
Do the following steps:
In your Server Explorer window right click on the database that
you've created and select Properties.
in the Properties window copy the value of the connection string
property and paste it to your application.
It should be something like this:
Data Source=(localdb)\v11.0;Initial Catalog=yourDB;Integrated Security=True
Just you need to add one extra \ to it to work in c#:
string address = "Data Source=(localdb)\\v11.0;Initial Catalog=yourDB;Integrated Security=True";
You could also have a look at
The Connection Strings Reference.
Here you go
<add name="YourDataBase" connectionstring="Data Source=.\SQLEXPRESS; AttachDbFilename=Path\YourDataFile.mdf; Integrated Security=True; Connect Timeout=30; User Instance=True" />
Also you can visit connectionstring.Com as well for more.
Use SqlServeCe as a namespace and then give the following codings
using System.Data.SqlServerCe;
SqlCeConnection conn = new SqlCeConnection(#"Data Source=D:\PROJECT\data\db.mdf;");

CLR20r3 System.Data.SqlClient.Sql for C# App

The app works fine on my dev box but I take it to the end user's computer it gives this error. I published it and installed it on the target computer as well.
SqlConnection cs = new SqlConnection("SERVER=SERVERWITHDB;DATABASE=DATABASENAME;Trusted_Connection=True");
Is this the correct way to go about setting up a sql connection?
If you need to build the connection string inside your code (instead of configuring it in your exe.config file), you could use a SqlConnectionStringBuilder:
SqlConnectionStringBuilder connectionStringBuilder = new SqlConnectionStringBuilder
{
DataSource = "SERVERWITHDB",
InitialCatalog = "DATABASENAME",
IntegratedSecurity = true
};
SqlConnection cs = new SqlConnection(connectionStringBuilder.ToString());
You'll see that the connection string you showed in your question uses the wrong key words. A valid connection string for a SqlConnection looks like this:
SqlConnection cs = new SqlConnection("Data Source=SERVERWITHDB;Initial Catalog=DATABASENAME;Integrated Security=True");
So the keywords are:
Data Source for the database server name
Initial Catalog for the database to use
Integrated Security set to True for Windows authentication and False for SQL server authentication
User ID for the user name (SQL server authentication only)
Password for the password (SQL server authentication only)
You Need to check that the network user has access rights to SQL server (your integrated security was set to true).

c# windows, local database(sql server), connection string not working properly

This is my connection string
SqlConnection conn = new SqlConnection(#"Data Source=C:\Users\admin\documents\visual studio 2010\Projects\WFA1\WFA1\database.sdf");
I copied it from the property, I added # in front but didn't change anything. There are no errors during Build and Run. But when I click insert button, the below error shows up.
"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. "
I tried editing connection string and using datadirectory instead of the entire path, but the same error occurs, I am new to .net so I am unable to figure out what could be the cause. I tried google but I can't tell whether the solutions there are related to my problem.
Thanks in advance!
You're using the wrong type of SQL connection. You should be using the SqlCeConnection class:
SqlCeConnection conn = new SqlCeConnection(#"Data Source=C:\Users\admin\documents\visual studio 2010\Projects\WFA1\WFA1\database.sdf");
Here is a really good reference for SQL CE connection strings.
The data source for SQL Server is a machine name, not a file name.
You should add a reference to the SQL CE assembly, and do this:
SqlCeConnection conn = new SqlCeConnection(#"Data Source=C:\Users\admin\documents\visual studio 2010\Projects\WFA1\WFA1\database.sdf");
For MSSQL Server Compact Edition, you should use the SqlCeConnection class.
So this should work:
SqlCeConnection sqlConnection = new SqlCeConnection(#"Data Source=C:\Users\admin\documents\visual studio 2010\Projects\WFA1\WFA1\database.sdf");
Create you connection string as follow :
add in the namespace using System.Data.SqlServerCe;
SqlCeConnection conn = new SqlCeConnection(#"Data Source=C:\Users\admin\documents\visual
studio 2010\Projects\WFA1\WFA1\database.sdf; Persist Security Info=False;");
if .sdf file inside you project then you can use :
string strConnectionString ="Data Source=" + (System.IO.Path.GetDirectoryName(System.Reflection.Assembly.
GetExecutingAssembly().GetName().CodeBase) + "\\database.sdf;Persist Security Info=False;";
SqlCeConnectionconn = new SqlCeConnection(strConnectionString );

how to connect a remote SQLserver using widows authentication from a .net application, if possible

currently I am using this connection string inside the app.config file of the application
add name="LightSailEntities" connectionString="metadata=res://*/LightSailEntities.csdl|res://*/LightSailEntities.ssdl|res://*/LightSailEntities.msl;provider=System.Data.SqlClient;provider connection string='data source=abc.xyz.com;initial catalog=LightSail;user id=LightSail; password=yourpasswordhere;MultipleActiveResultSets=True;App=EntityFramework'" providerName="System.Data.EntityClient"
The domain of .Net application and the domain of client, using .Net application, is different from domain of SQL server. I mentioned "using widows authentication" only because of, I have the access of the server machine(means I can use Remote Desktop Connection) on which the SQL server is installed.
For Windows Auth you don't need to set the User Id and Password but you do need to include 'Integrated Security=SSPI;'
Try:
add name="LightSailEntities" connectionString="metadata=res://*/LightSailEntities.csdl|res://*/LightSailEntities.ssdl|res://*/LightSailEntities.msl;provider=System.Data.SqlClient;provider connection string='data source=dev.shopcube.com;initial catalog=LightSail;Integrated Security=SSPI;MultipleActiveResultSets=True;App=EntityFramework'" providerName="System.Data.EntityClient"
There's a bit more info here:
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring(VS.71).aspx
You have to change ConnectionString to use Integrated Security=SSPI insetad of user and password
add name="LightSailEntities"
connectionString="metadata=res://*/LightSailEntities.csdl|res://*/LightSailEntities.ssdl|res://*/LightSailEntities.msl;
provider=System.Data.SqlClient;
provider connection string='data source=dev.shopcube.com;initial catalog=LightSail;Integrated Security=SSPI;MultipleActiveResultSets=True;App=EntityFramework'"
providerName="System.Data.EntityClient"
After that, look at the Identity set for the Application Pool of you application.
That user must be authorized to access your DB using Security\Logins inside Object Explorer pan of Management Studio.
Youo can use following code:
SqlConnection conn = new SqlConnection(Configuration.DBConn);
or if you use Linq2SQL:
DBContext ctx = new DBContext(Configuration.DBConn);
where in Configuration class DBConn string contains connection string to sql ie:
Data Source=XYZ\\DEV;Initial Catalog=YOURDB;Integrated Security=True;Connect Timeout=600;connection lifetime=600
Integrated Security=True tells that you want to use windows auth.

Categories