Unable to connect hosting provider MYSQL database in asp.net - c#

I have MYSQL database from Hosting provider net4.in and i am unable to access database.
My code is as below :
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Data.Odbc;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class dummy : System.Web.UI.Page
{
OdbcConnection conn;
string Address = "Driver={MySql ODBC 5.1 Driver};Server=phpmyadmin7.net4india.com;Option=3;Port=3306;Stmt=;" +
"DataBase=test;Uid=demo;Pwd=demo123;";
protected void Page_Load(object sender, EventArgs e)
{
string sql = "Select * from test.testing limit 5";
DataSet rsDSet = new DataSet();
try
{
if (sql == "") throw new Exception("SQL input required");
conn = new OdbcConnection(Address);
if (conn.State == ConnectionState.Closed) conn.Open();
OdbcDataAdapter adp = new OdbcDataAdapter(sql, conn);
adp.Fill(rsDSet);
}
catch (Exception ee)
{
Response.Write(ee.ToString());
}
GridView1.DataSource = rsDSet;
GridView1.DataBind();
}
}
Pl let me know how can i connect MYSQL DB.
Thank you in advance

Are you sure your MySQL instance is hosted on a machine named phpmyadmin7? It seems unlikely. Phpmyadmin is the name of a chunk of client software, as I am sure you know.
Are you sure your hosting provider allows access from outside their data center to MySQL server instances? (Presuming you are running the sample code you provided from your own machine, which might not be the case.) Most hosting providers protect their MySQL instances from internet-wide access because it is easy to mount DDOS attacks against them otherwise.
In some hosting provider environments the MySQL authentication scheme only allows access to your MySQL instance from the particular machine upon which your web apps run.
In any case you need to have a conversation with your support crew about how to do this.

Related

Using Odbc driver query given result in database but not filling datatable in c#, there is no error

Just started using windows 11 and installed Oracle drivers for 32Bit and 64Bit, wrote program using C# to fetch data from Oracle database.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Data.Odbc;
using System.Data;
using System.Data.SqlClient;
namespace ApexAutoEmailConsol
{
static class ServiceLog
{
static String connectionString = "Dsn=Prod21_32;uid=ebseb;pwd=ebseb";
static string strQuery = string.Empty;
public static string OutstandingInvoices()
{
try
{
OdbcConnection oCon = new OdbcConnection();
oCon.ConnectionString = connectionString;
oCon.Open();
DataTable dtSales = new DataTable();
strQuery = "SELECT * from apps.org_organization_definitions HO";
// if I run above query in Toad it's giving result.
OdbcDataAdapter myAdp = new OdbcDataAdapter(strQuery, oCon);
myAdp.Fill(dtSales);
//Adapter not filling data to the datatable.
if (dtSales.Rows.Count <= 0)
{
return "";
}
return strReturn;
}
catch (Exception Ex)
{
WriteErrorLog(Ex.ToString());
return "";
}
}
}
When I copy strQuery and run on Toad, getting result but datatable is still empty.
What is the problem? The same code is working perfect on my Windows10 machine.
UnCOMMITted data is only visible within the session that created it (and will ROLLBACK at the end of the session if it has not been COMMITted). If you can't see the data from another session (C#) then make sure you have issued a COMMIT command in the SQL client (Toad).
If you have issued a COMMIT and still can't see the data then make sure that both the SQL Client (Toad) and the C# program are connecting to the same database and are querying the same user's schema of that database.
It's very unique problem, I had it around 2 years ago with my another machine, where I was not able to get some query result in Toad. Some queries are working but some of with specific table in joing was giving empty result. That time I added following language setting in my environment variable and was worked.
NLS_LANG = American_America.UTF8
Used same in my new machine and now am getting result with Visual Studio 2022.

How to connect windows CE c# application to database SQL Server2008r2

Please help.
I have device MC3200 Zebra(motorola)(Windows Embedded version 7, build 2864). This device is connecting to network and see SQL server(ping is OK). I used it Visual Studio 2008, c#, SmartDevicePrj, .NET CF 3.5
But after start application on device will be displayed message:
Unknown connection option in connection string: initial catalog.
Some idea how to repair it?
Many thanks for your help.
using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlServerCe;
namespace SmartDeviceProject1
{
public partial class Form1 : Form
{
public SqlCeConnection msConn;
public string strCon = "";
public SqlCeCommand command;
public Form1()
{
InitializeComponent();
strCon = "Data Source=server007; Initial Catalog=FMPredlis; User ID=mistr; Password=heslo;";
try
{
msConn = new SqlCeConnection(strCon);
msConn.Open();
MessageBox.Show("Připojeno");
}
catch (SqlCeException ex)
{
MessageBox.Show("Chyba" + ex.Message);
msConn.Close();
}
}
}
}
I think you are mixing 2 things.
Either use The SqlConnection object, then you can connect to a SQL Server using a connection string found on this page:
https://www.connectionstrings.com/sql-server/
Or use like in your code the SqlCEConnection, then you connect to a SQL Lite (local file), and your connection string should be like on this page:
https://www.connectionstrings.com/sqlite/
But in your sample you are using SqlCEConnection to connect to a sql server, that wont work.
Grtz

How do I access MySql database in C#.NET with WPF? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed last month.
Improve this question
Please advise me. I am trying to develop Windows Application in WPF with Mysql server database.
Which approach I have to use to create connection establish on the Mysql database?
1) Entity Framework
OR
2) ADO.NET
OR
3) Other one
The Admin computer need to install mysql database on his computer and then access the mysql database to another (10 or more) client systems which are under network connected.
Here, just one MySql database inside admin computer only. And all other client machines are accessing MySql database by admin's computer IP address. The IP connection string is like this:-
#"Data Source=10.0.0.101
One of other matter is, the customer demanding that, when installing .exe file on client machine, then should have to automatically install mysql server database (ie, xampp or other ect..) also.
How can I do this?
I have tried, ADO.NET C# instead EF to connect mysql for wpf windows application. like that :-
public void AddUserList( UserSetUp user)
{
dbConnection.Open();
string query = "INSERT INTO Tble_UserSetUp (FirstName, SurName, Email, PhoneNumber, UserName, Password,Computer_Name,IP_Address,CreatedBy, CreatedDate,IsActive,Function,Department) VALUES (#FirstName, #SurName, #Email, #PhoneNumber, #UserName, #Password,#Computer_Name,#IP_Address,#CreatedBy, #CreatedDate,#IsActive,#Function,#Department)";
MySqlCommand insertSQL = new MySqlCommand(query, (MySqlConnection)dbConnection);
insertSQL.Parameters.AddWithValue("#FirstName", user.FirstName);
insertSQL.Parameters.AddWithValue("#SurName", user.SurName);
insertSQL.Parameters.AddWithValue("#Email", user.Email);
insertSQL.Parameters.AddWithValue("#PhoneNumber", user.PhoneNumber);
insertSQL.Parameters.AddWithValue("#UserName", Encrypt(user.UserName));
insertSQL.Parameters.AddWithValue("#Password", Encrypt(user.Password));
insertSQL.Parameters.AddWithValue("#Computer_Name", user.Computer_Name);
insertSQL.Parameters.AddWithValue("#IP_Address", user.IP_Address);
insertSQL.Parameters.AddWithValue("#CreatedBy", user.CreatedBy);
insertSQL.Parameters.AddWithValue("#CreatedDate", user.CreatedDate);
insertSQL.Parameters.AddWithValue("#IsActive", user.IsActive);
insertSQL.Parameters.AddWithValue("#Function", user.Function);
insertSQL.Parameters.AddWithValue("#Department", user.Department);
try
{
insertSQL.ExecuteNonQuery();
dbConnection.Close();
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
Is it a bad idea instead of use Entity Framework or another one?
public partial class MainWindow : Window
{
/*mysql
*
* 1. add nuget mysql.data.dll(desktop application)
* 2. using MySql.Data.MySqlClient;
* 3. code like bellow , you can try
*/
private StringBuilder sb = new StringBuilder();
public MainWindow()
{
InitializeComponent();
mysql();
tbx.Text = sb.ToString();
}
private void mysql()
{
try
{
var connstr = "Server=localhost;Uid=root;Pwd=123456;database=world";
using (var conn = new MySqlConnection(connstr))
{
conn.Open();
using (var cmd = conn.CreateCommand())
{
cmd.CommandText = "select * from city where countryCode= #ID";
cmd.Parameters.AddWithValue("#ID", "100");
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
var ii = reader.FieldCount;
for (int i = 0; i < ii; i++)
{
if (reader[i] is DBNull)
sb.AppendLine("null");
else
sb.AppendLine(reader[i].ToString());
}
}
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}
Reference: Official MySQL documentation - Introduction to Connector/NET Programming
Step 0: Setup MySql and Create a database
Step 1: Create WPF Project
Step 2: Install MySql.Data package using Nuget package manager
(Visual Studio) Project> (click) Manage NuGet packages
Select Browse tab> search Mysql.data > Select Mysql.data package> Install
Step 3: In my case I created the connection within MainWindow.xaml.cs file.
To consume MySql.Data and MySql.Data.MySqlClient
using MySql.Data;
using MySql.Data.MySqlClient;
Full Code (relevent to the question): MainWindow.xaml.cs file
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using MySql.Data;
using MySql.Data.MySqlClient;
namespace EAppartments
{
public partial class MainWindow : Window
{
string connStr = "server=localhost;user=root;database=YourDBName;password=yourpassword";
//Connect to MySql when app starts
//you can use OnStartUp event as well
public MainWindow()
{
InitializeComponent();
connectToMySql();
}
private void connectToMySql()
{
MySqlConnection conn = new MySqlConnection(connStr);
try
{
Console.WriteLine("Connecting to MySQL...");
conn.Open();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
//close connection if you want
conn.Close();
Console.WriteLine("Done.");
}
}
}
Useful resources:
Execute MySql commands using WPF app
Lifecycle of WPF application

How to connect to MySql database on internet web server not on localhost using c#?

i have a web server on internet i am using php/mysql. for my website, now i want to connect to my mysql database on my webserver using my c# windows form application so that i will be able to view,create, update, delete the data on mysql database on webserver, i want to user same database for website and my desktop application. i want any one having my desktop application would be able to update my database on my webserver(i mean not only form some specific ip).
Here is my code when i try to run it shows error "Unable to connect to any of specified MySQL hosts."
can any one Guide me how to do it. Thanks.
The following code is working fine for localhost but not working for web-server which is on internet.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient; // for mysql
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
string con_str = "SERVER=fdb4.biz.nf;Port=3306;DATABASE=1558711_zee;UID=1558711_zee;PASSWORD=multan321;compress=true;";
MySqlConnection connection = new MySqlConnection(con_str);
try {
connection.Open();
MySqlCommand cmd = connection.CreateCommand();
cmd.CommandText = "SELECT * FROM zeetable";
MySqlDataAdapter mda = new MySqlDataAdapter(cmd);
DataSet mds = new DataSet();
mda.Fill(mds);
dataGridView1.DataSource = mds.Tables[0].DefaultView;
}
catch(MySqlException ex){
MessageBox.Show(ex.Message);
}
}
}
}

How to connect with a database on Access inside a intranet

I have made connection with sql server but i have never done a connection with access and
now this isn't in the computer local, if not it is going to be in a server
users are going to full the form with their information, but the database will be in another computer, how is the connection class to be? and I have never worked in access
how do i for Add, Edit, delete, and queries?
in sql server it was so easy
it was my class connection in sql and i call it since form or another class called DAO
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Windows.Forms;
namespace Proyecto1._0.Conexiones
{
class Conexion
{
public SqlConnection conectar()
{
return new SqlConnection(#"data source=.; integrated security=true; initial catalog=dbmeridajoven;");
}
public bool ejecutarConsulta(string consulta)
{
try
{
SqlCommand comando = new SqlCommand(consulta, this.conectar());
comando.Connection.Open();
comando.ExecuteNonQuery();
comando.Connection.Close();
return true;
}
catch
{
MessageBox.Show("Consulta mal formada");
return false;
}
}
public DataTable regresarTabla(string consulta)
{
try
{
SqlDataAdapter adapter = new SqlDataAdapter(consulta, this.conectar());
DataTable tabla = new DataTable("consulta");
adapter.Fill(tabla);
return tabla;
}
catch
{
MessageBox.Show("Consulta mal formada ");
return new DataTable();
}
}
}
}
I repeat now is with access and it is for intranet (in another computer is the server)
ConnectionStrings.com is a great resource for figuring out how to create a connection string for a variety of database engines. Here's one example of an Access connection string:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=;
Once you generate a connection string, you'll notice that the file path is included in the string; to share the database among mulitple clients, you'll need to put the database file on a network share or drive. For example, your file path could be something like "\\dbserver\databases\mydb.mdb."

Categories