C# WebSite connection to a mySQL database - c#

I want to connect my WebSite to a local database.
My connection String is the following:
<connectionStrings>
<add name ="localhost"
connectionString="server=localhost;user id=root;persistsecurityinfo=True;database=doctorappointments"
providerName="MySql.Data.MySqlClient"
/>
I can connect from MySql Workbench and also from Visual Studio if I add a new connection in Server Explorer. The connection String from above is the same as the one from server Explorer.
I checked that my server is running, I also put a firewall rule for the port that it connects to.
This how I am using the connectionString:
using (SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["localhost"].ConnectionString))
{
con.Open();
Response.Redirect("MainPage.aspx");
}
And on the con.Open() it gives me this error:
An exception of type 'System.Data.SqlClient.SqlException' occurred in >System.Data.dll but was not handled in user code
Additional information: 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)
and also:
ServerVersion 'con.ServerVersion' threw an exception of type 'System.InvalidOperationException' string {System.InvalidOperationException}
I am new to this and I have tried everything I found online. I do not know what am I doing wrong...

SqlConnection is for Sql Server.
Make sure you have installed MySql.Data via nuget package and use MySqlConnection instead.

Related

Accessing a local SQL Database created in SQL Server Management Studio in a c# windows form?

Here is my Code:
private void button2_Click(object sender, EventArgs e)
{
SqlConnection connection = new SqlConnection("Data Source=DESKTOP-BPRGRPB/SQLEXPRESS;Initial Catalog=Test;Integrated Security=True");
connection.Open();
MessageBox.Show("connected!");
}
I pulled the ConnectionString from the Server Explorer in VS2022. The following Error occurs after the ConnectionTimeout.
Microsoft.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)'
Inner Exception: Win32Exception: The network name cannot be found.
This is my first time using a database so I have no idea what I am doing. I just wanted to get it a shot and see if I could get a connection to a database running. I, also, tried using a SQLConnectionStringbuilder to make a Connection String with no luck.
I checked to setting is SQL Server Management Studio and remote connections are allowed.
Thanks for any help.

Problems with SQL Server connection in console app

The SQL server is located on a remote machine.
I can connect to it with MVC app.
I can connect to it with SSMS.
But I can not do it in console app.
Neither entity nor SqlConnection is working.
Connection string is the same as in console and mvc app (which works). What can it be? Any ideas?
Error I am getting
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)'
What can it be?
<add name="DBContext" connectionString="data source=serverip;initial catalog=catalogue;user id=user;password=password;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
SqlConnection cn = new SqlConnection();
cn.ConnectionString = "data source=serverip;initial catalog=catalogue;user id=user;password=password;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient";
cn.Open();
Console.WriteLine(cn.State.ToString());
The problem is that console app uses 445 and 139 port. In terms of security. But why MVC app doesn't use it. And how I can I use it without opening this port. Even dividing db part in different library didn't work.

Remote Connection Error in Asp.net

I am trying to make a registration page, that stores Username, password,and email,
but
When ever i try to Connect database using this string,
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["RConnectionString"].ConnectionString);
conn.Open();
Following Error appears:
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 searched everywhere, but it didn't helped me..
The issue starts from web.config and the connection string that is located at RConnectionString according to the code line you give.
Locate this string and fix it to been able to connect to your database.
And some examples here: Setting up connection string in ASP.NET to SQL SERVER

Can't Connect to Local SQL Database

This:
SqlConnection myConnection = new SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename='C:\\Users\\Joe\\Documents\\Visual Studio 2012\\Projects\\FileIO\\FileIO\\Database.mdf';Integrated Security=True");
try
{
myConnection.Open();
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
Returns this error:
A first chance exception of type 'System.Data.SqlClient.SqlException'
occurred in System.Data.dll 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)
Any Ideas?
You're missing the double backslash on the data source. It's reading the \v as a vertical tab.
Or you can use a leading # before the whole string to treat it as a verbatim string (if you do this then you'll need to clear out the extra backslashes on your filepath).
(Copied from error occurred while establishing a connection to SQL Server)
The problem was related to the application not running in .net version 4.0
According to the following page:
http://www.connectionstrings.com/sql-server-2012#sqlconnection
You need .net 4.0 and up to use named pipes:
The Server=(localdb) syntax is not supported by .NET framework
versions before 4.0.2. However the named pipes connection will work to
connect pre 4.0.2 applications to LocalDB instances.
SqlLocalDB.exe create MyInstance
SqlLocalDB.exe start MyInstance
SqlLocalDB.exe info MyInstance
The info provides the named pipe then this can be used in the connection string:
<add name="conn"
providerName="System.Data.SqlClient"
connectionString="Server=np:\\.\pipe\LOCALDB#B1704E69\tsql\query"/>

Can't access MYSQL server from c# forms application - error in connection string

myConnection = new SqlConnection("user id=champion3_test;" +
"password=test;server=10.168.1.58;" +
"Trusted_Connection=true;" +
"database=champion3_sabdb; " +
"connection timeout=30");
This code gives the error:
Thrown: "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)" (System.Data.SqlClient.SqlException) Exception Message = "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)", Exception Type = "System.Data.SqlClient.SqlException", Exception WinRT Data = ""
Here are some screenshots that might help with debugging of my server's settings:
http://imgur.com/a/PeRby
I know that 'champion3_test' is a valid user id
'test' is a valid password for champion3_test
the database name is 'champion3_sabdb'
SQL server isn't MySQL. If you are using MySQL, download the MySQL .NET Connector and use their connection class, MySqlConnection.
To learn how to use the MySQL Connector, you can start here.
You can download the MySql Connector for .Net here.
Once you've installed the driver, you can connect using the MySql Connector classes:
string connStr = "server=localhost;user=root;database=world;port=3306;password=******;";
MySqlConnection conn = new MySqlConnection(connStr);

Categories