Genesis Vargas J

Como conectar MySQL, SQL SERVER, ORACLE y SQLITE con Visual Basic .NET

Comparte:

Hola amigos, en este tutorial les mostraré como conectar Visual Basic .NET con las bases de datos: SQL SERVER, MySQL, ORACLE y SQLITE con el IDE Visual Studio.

Para conectar Visual Basic .NET con bases de datos diferentes a SQL SERVER es necesario adjuntar un driver para que se pueda implementar los beneficios del ADO.NET (es la tecnología de Microsoft .NET que permite utilizar el mismo codigo y las mismas herramientas para todas las bases de datos)

Lo primero que haremos será crear la interfaz del programa para probar la conexión, al final nos deberá quedar así (al combobox le agregamos los tres items: SQL SERVER, MYSQL, ORACLE Y SQLITE):

Ahora procedermos a adjuntar cada driver en visual studio, tendremos que descargar la dll de cada uno y adjuntarla como referencia en el proyecto; descarga cada uno:

MYSQL (32 y 64 Bits) --> DRIVER MYSQL (escogen opcion: MONO & .NET)

SQLITE --> DRIVER .SQLITE (escogen su versión)

EL DRIVER DE ORACLE LO ENCUENTRAS EN LA CARPETA DONDE INSTALASTE ORACLE CON EL NOMBRE: Oracle.DataAccess.dll

También puedes agregar a tu proyecto cada uno de éstos driver buscándolos en el manejador de paquetes NUGET de Visual Studio.

Acto seguido, vamos a agregar las tres referencias de los tres drivers:

Y ahora escribiremos nuestro código

Imports System.Data.SqlClient  'nombre de espacio para trabajar con sql server
Imports MySql.Data.MySqlClient 'nombre de espacio para trabajar con mysql
Imports System.Data.SQLite 'nombre de espacio para trabajar con sqlite
Imports Oracle.DataAccess.Client 'nombre de espacio para trabajar con oracle

Public Class Form1

    Dim cadena As String
    
    Private Sub BtnConectar_Click(sender As System.Object, e As System.EventArgs) Handles BtnConectar.Click
        Select Case CmbBaseDato.Text
            Case "SQL SERVER"
                cadena = "Data Source='localhost'; Initial Catalog='prueba'; User Id='sa'; Password='123456'"
                Dim con As New SqlConnection(cadena)
                Try
                    con.Open()
                    TxtMensaje.Text = "Conectado a SQL SERVER"
                Catch ex As Exception
                    TxtMensaje.Text = "No se pudo conectar a SQL SERVER"
                End Try
            Case "MYSQL"
                cadena = "server=localhost; user=root; database=prueba"
                Dim con As New MySqlConnection(cadena)
                Try
                    con.Open()
                    TxtMensaje.Text = "Conectado a MYSQL"
                Catch ex As Exception
                    TxtMensaje.Text = "No se pudo conectar a MYSQL"
                End Try
            Case "SQLITE"
                cadena = "Data Source=" & Application.StartupPath & "\prueba.db;"
                Dim con As New SQLiteConnection(cadena)
                Try
                    con.Open()
                    TxtMensaje.Text = "Conectado a SQLITE"
                Catch ex As Exception
                    TxtMensaje.Text = "No se pudo conectar a SQLITE"
                End Try
            Case "ORACLE"
                cadena = "Data Source=127.0.0.1; User Id=root; Password=123456;"
                Dim con As New OracleConnection(cadena)
                Try
                    con.Open()
                    TxtMensaje.Text = "Conectado a ORACLE"
                Catch ex As Exception
                    TxtMensaje.Text = "No se pudo conectar a ORACLE"
                End Try
            Case Else
                MessageBox.Show("por favor escoga una opcion")
        End Select
    End Sub

End Class

En el código estamos importando 3 espacios de nombres para cada base de datos: System.Data.SqlClient para sql server, MySql.Data.MySqlClient para mysql, Oracle.DataAccess.Client para oracle y System.Data.SQLite para sqlite. declaramos una variable llamada cadena como string para almacenar la cadena de conexión de cada base de datos, y en el evento click del botón hacemos un select case con respecto a el texto que se escoja en el combobox, en cada opción le asignamos el valor correspondiente de la cadena de conexión de cada base de datos (la cadena de sql server y mysql es casi igual: nombre de la base de datos, usuario, contraseña y servidor, en cambio en sqlite solo hay que poner la ruta del archivo de la base de datos), creamos una variable llamada con como nueva instancia de la conexión de cada base de datos: SQLConnection (sql server), MySqlConnection (mysql), OracleConnection (oracle) y SqliteConnection (sqlite) y por último hacemos un try para conectarnos utilizando el metodo Open() y mostramos el mensaje de que nos pudimos conectar con la base de dato.

Si nos damos cuenta para conectar visual basic .net con cualquier base de datos se utiliza el mismo código (solo cambia la cadena de conexión y se utilizan las clases de ADO.NET con el respectivo alias de cada base de datos: SQl, MySql, Oracle, SQlite, etc), esto es lo bueno de trabajar con Microsoft .NET

Bueno eso es todo espero que les sirva mucho para aprender y practicar. Les dejo una carpeta comprimida para que descarguen el ejemplo.

Comentarios


genesis vargas

Soy Genesis Vargas Jiménez, autor de éste blog. Me gusta desarrollar software en todas las plataformas (web, móvil y desktop) y compartir conocimiento para ayudar a muchas personas.

Desde el 2015 soy MVP Microsoft en Visual Studio y tecnologías de desarrollo, reconocimiento que me enorgullece mucho.

MVP Genesis Vargas J

A PHP Error was encountered

Severity: Core Warning

Message: Module 'timezonedb' already loaded

Filename: Unknown

Line Number: 0

Backtrace: