> ## Documentation Index
> Fetch the complete documentation index at: https://kb.hosting.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Connecting to MySQL using Microsoft .NET

> Connect to MySQL with Microsoft .NET using this step-by-step guide, complete with code snippets and related resources.

This article describes how to add MySQL support to Microsoft Visual Studio. With MySQL and Visual Studio integration, you can develop Microsoft.NET applications that access MySQL databases on hosting.com servers.

## Adding MySQL support to Visual Studio

Visual Studio does not include support for MySQL by default. To add MySQL support to Visual Studio, you must install the following components:

* **MySQL for Visual Studio:** This component adds MySQL support to Visual Studio's visual database tools, such as Server Explorer. To download MySQL for Visual Studio, please visit [http://dev.mysql.com/downloads/windows/visualstudio](http://dev.mysql.com/downloads/windows/visualstudio).

* **Connector/Net:** This component adds.NET drivers for MySQL to Visual Studio. If you want to write.NET code that accesses MySQL databases, you must install this component. To download Connector/Net, please visit [https://dev.mysql.com/downloads/connector/net](https://dev.mysql.com/downloads/connector/net).

You should download and install both of these components to obtain the best possible MySQL integration with Visual Studio.

<Warning>
  **Important**

  To access MySQL databases from a remote computer, you must add your IP address to the list of IP addresses allowed for remote access. For information about how to do this, please see [this article](/docs/remote-mysql-access). If you do not add your IP address, you receive **Access denied** messages when you try to access a MySQL database remotely.

  📘 Note

  The following procedures were developed and tested using [Visual Studio 2015 (Community Edition)](https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx). The exact steps or user interface labels for other Visual Studio versions may differ slightly.
</Warning>

## Using Server Explorer

After you install the MySQL for Visual Studio component, you can use Visual Studio's visual database tools to access and view MySQL databases on hosting.com servers.

The following procedure demonstrates how to use the Server Explorer to view MySQL databases on your hosting.com account.

<Tip>
  A MySQL database and user must already exist on your account before you go through the following procedure. For information about how to manage MySQL databases using cPanel, please see [this article](/docs/managing-mysql-databases).
</Tip>

1. Start Visual Studio.

2. On the **View** menu, click **Server Explorer**.

3. Click the **Connect to Database** icon. The **Choose Data Source** dialog box appears.

4. In the **Data source** list box, select **MySQL Database**, and then click **Continue**.
   > 📘 Note
   >
   > If you do not see the **MySQL Database** option, the MySQL for Visual Studio component is probably not installed or registered correctly with Visual Studio. Try re-installing the MySQL for Visual Studio component.

5. In the **Server name** text box, type the name of the hosting.com server for your account.
   > 📘 Note
   >
   > For information about how to determine your account's server name, please see [this article](/docs/determining-your-accounts-server-name).

6. In the **User name** text box, type the name of the database user.

7. In the **Password** text box, type the password for the database user you specified in step 6.
   > 👍 Tip
   >
   > If you do not want to re-type the password every time Visual Studio connects to the database, select the **Save my password** check box.

8. In the **Database name** text box, type the name of the database you want to access.

9. Click **Test Connection**. You should receive a **Test connection succeeded** message. If you do not, check the values you provided in steps 5 to 8, and then try again.

10. Click **OK**. Server Explorer adds the server and database to the list of available connections.

11. Double-click the server and database name to view the following items:

    * **Tables**

    * **Views**

    * **Stored Procedures**

    * **Stored Functions**

    * **UDFs** (User-defined functions)

You can double-click any of these items to navigate through the database. For example, to see the tables defined in the database, double-click **Tables**. To view the actual data stored in a table, right-click the table name, and then click **Retrieve Data**.

## Connecting to MySQL using.NET

After you install the Connector/Net component, you can write.NET code that accesses MySQL databases. To do this, you must add a reference to the MySQL.NET library in your project, and specify the correct parameters in a database connection string.

The following procedure demonstrates how to create a simple C# or Visual Basic console application that connects to a remote MySQL database and runs an SQL query.

<Tip>
  A MySQL database and user must already exist on your account before you go through the following procedure. For information about how to manage MySQL databases using cPanel, please see [this article](/docs/managing-mysql-databases).
</Tip>

1. Start Visual Studio.

2. On the **File** menu, click **New**, and then click **Project**. The **New Project** dialog box appears.

3. Under **Templates**, select your preferred coding language:

   * To use C#, select **Visual C#.**

   * To use VB.NET, select **Visual Basic**.

4. In the list of templates, click **Console Application**.

5. In the **Name** text box, type `MySQL_test`.

6. Click **OK**. Visual Studio creates the project.

7. In the code window, delete all of the existing code.

8. Copy the following code for the language you selected in step 3, and then paste it into the code window. Modify the **connstring** definition to use the login information for your own database. Additionally, replace the three instances of ***table\_name*** with the name of the table you want to query.

   **Visual C#:**

```csharp theme={null}
using System;
using System.Data;
using MySql.Data.MySqlClient;

namespace MySQL_test
{
    class Program
    {
        static void Main(string[] args)
        {
            string connstring = @"server=example.com;userid=example_user;password=example_password;database=example_database";

            MySqlConnection conn = null;
            
            try
            {
                conn = new MySqlConnection(connstring);
                conn.Open();

                string query = "SELECT * FROM table_name;";
                MySqlDataAdapter da = new MySqlDataAdapter(query, conn);
                DataSet ds = new DataSet();
                da.Fill(ds, "table_name");
                DataTable dt = ds.Tables["table_name"];

                foreach (DataRow row in dt.Rows)
                {
                    foreach (DataColumn col in dt.Columns)
                    {
                        Console.Write(row[col] + "\t");
                    }

                    Console.Write(" ");                  
                }           
            }
            catch (Exception e)
            {
                Console.WriteLine("Error: {0}", e.ToString());
            }
            finally
            {
                if (conn!= null)
                {
                    conn.Close();
                }
            }
        }
    }
}
```

**Visual Basic:**

```Text Visual Basic theme={null}
Imports System
Imports System.Data
Imports MySql.Data.MySqlClient

Module Module1

    Sub Main()
        Dim connstring As String = "server=example.com;userid=example_user;password=example_password;database=example_database"

        Dim conn As MySqlConnection = Nothing

        Try
            conn = New MySqlConnection(connstring)
            conn.Open()

            Dim query As String = "SELECT * FROM table_name;"
            Dim da As New MySqlDataAdapter(query, conn)
            Dim ds As New DataSet()
            da.Fill(ds, "table_name")
            Dim dt As DataTable = ds.Tables("table_name")

            For Each row As DataRow In dt.Rows
                For Each col As DataColumn In dt.Columns
                    Console.Write(row(col).ToString() + vbTab)
                Next

                Console.Write(vbNewLine)
            Next

        Catch e As Exception
            Console.WriteLine("Error: {0}", e.ToString())
        Finally
            If conn IsNot Nothing Then
                conn.Close()
            End If
        End Try
    End Sub

End Module
```

9. On the **Project** menu, click **Add Reference**. The **Reference Manager** dialog box appears.

10. Under **Assemblies**, click **Extensions**.

11. Scroll down the list of assemblies, and then double-click **MySql.Data**. A check box appears next to the assembly name.

    > 📘 Note
    >
    > If you do not see the **MySql.Data** assembly listed, the Connector/Net component is probably not installed or registered correctly with Visual Studio. Try re-installing the Connector/Net component.

12. Click **OK**.

13. On the **Build** menu, click **Build Solution**. Visual Studio compiles the application.

14. On the **Debug** menu, click **Start Without Debugging**. The application runs and prints all of the data from the selected table.

## More information

For more information about Microsoft Visual Studio, please visit [https://www.visualstudio.com/en-us/visual-studio-homepage-vs.aspx](https://www.visualstudio.com/en-us/visual-studio-homepage-vs.aspx).

## Related articles

* [Connecting to MySQL from the command line](/docs/connect-to-mysql-from-the-command-line)

* [Connecting to MySQL using PHP](/docs/connect-to-mysql-using-php)

* [Connecting to MySQL using Python](/docs/connecting-to-mysql-using-python)

* [Connecting to MySQL using Perl](/docs/connect-to-mysql-using-perl)

* [Managing MySQL databases, users, and tables from the command line](/docs/managing-mysql-databases-and-users-from-the-command-line)
