Ejemplo de base de datos SMS en VB.NET
Aprende cómo añadir funcionalidad SMS a tu aplicación VB.NET. Para la solución necesitarás un servidor de base de datos que almacene mensajes enviados y recibidos. Se aceptan MS SQL, MS SQL Express, MySQL, Access, Oracle. Se proporciona el código fuente. Puedes descargarlo y editarlo.
Cómo añadir funcionalidad SMS a VB.NET (Pasos rápidos)
Para añadir funcionalidad SMS a VB.NET:
- Configura Ozeki SMS Gateway
- Prueba el envío de SMS
- Descarga Microsoft SQL Express
- Instala Microsoft Visual Studio
- Crea usuario y tablas de la base de datos
- Configura el usuario de la base de datos en Ozeki
- Modifica el código VB.NET
- Inserta SMS en la base de datos
Descargar:
vb.net-sms-example-sql.zip (70 Kb)
Introducción
La solución consta de 3 partes diferentes (Figura 1). Ozeki SMS Gateway, la base de datos SQL y tu aplicación VB.NET. Verifica si Ozeki SMS Gateway está conectado a la base de datos SQL. Puedes encontrar muchos tutoriales de conexión en la página SMS desde base de datos SQL. Si ya está hecho, por favor verifica si VB.NET puede leer y escribir registros en la base de datos.
La figura muestra exactamente lo descrito en el párrafo anterior. Puedes enviar mensajes SMS insertando un nuevo registro mediante la aplicación VB.NET. Revisa la tabla SQL para ver si se han añadido nuevos registros. Estos mensajes deberían enviarse automáticamente. Verifica si la aplicación VB.NET funciona con la base de datos tanto para leer como para insertar registros. Leer registros es importante ya que es la forma de leer mensajes entrantes.
Requisitos previos
El software principal de la operación es Ozeki SMS Gateway que puedes obtener para tu aplicación Ozeki 10. Este software puede conectar tu computadora a la red móvil y también puede conectar tu PC a cualquiera de los siguientes servidores de base de datos:
- enviar SMS desde Microsoft SQL Express
- enviar SMS desde Access
- enviar SMS desde MySQL
- enviar SMS desde Oracle
- enviar SMS desde Postgres
- enviar SMS desde SAP SQL Anywhere
También necesitarás un IDE de desarrollo para C# o Visual Basic, como Microsoft Visual Studio. Si aún no lo has hecho, por favor descarga el ejemplo de SMS en VB. Para resumir, aquí tienes una lista completa del software requerido:
- Ozeki SMS Gateway
- Servidor de base de datos (MS SQL, SQL Express, Access, MySQL, Oracle, Postgres, SAP SQL Anywhere, etc)
- Microsoft Visual Studio
- vb.net-sms-example-sql.zip (70 Kb)
Cómo instalar y configurar VB.NET
Usa los siguientes pasos para crear una solución funcional. En este ejemplo verás una solución con Microsoft SQL Express con ejemplos de base de datos listos para copiar y pegar. Por favor descarga y instala Ozeki 10 antes de continuar con estos pasos. Realiza una prueba manual de envío de SMS para verificar si puedes enviar y recibir mensajes SMS con Ozeki 10. Si la prueba fue exitosa, podrás enviar y recibir mensajes SMS desde la interfaz gráfica de la aplicación VB.NET. Verifica si se envió usando los registros de eventos de Ozeki 10.
Si no estás usando SQL Express, por favor copia el código de creación de tablas de una de estas opciones de servidor SQL.
Paso 1 - Crear usuario y tablas de la base de datos
Por favor instala Microsoft SQL Express y Microsoft Visual Studio para que puedas seguir estos pasos. Crea las tablas de la base de datos en tu servidor de Microsoft SQL Express copiando y pegando código 1.
create database ozeki GO use ozeki GO CREATE TABLE ozekimessagein ( id int IDENTITY (1,1), sender varchar(30), receiver varchar(30), msg varchar(160), senttime varchar(100), receivedtime varchar(100), operator varchar(30), msgtype varchar(30), reference varchar(30), ); CREATE TABLE ozekimessageout ( id int IDENTITY (1,1), sender varchar(30), receiver varchar(30), msg varchar(160), senttime varchar(100), receivedtime varchar(100), operator varchar(100), msgtype varchar(30), reference varchar(30), status varchar(30), errormsg varchar(250) ); GO sp_addLogin 'ozekiuser', 'ozekipass' GO sp_addsrvrolemember 'ozekiuser', 'sysadmin' GOCódigo 1 - El código que crea la estructura de las tablas
Paso 2 - Conectar Ozeki SMS Gateway a tu base de datos
Ahora es momento de crear un usuario de base de datos en Ozeki 10. Después de crear el usuario, selecciona 'SQL server' y copia y pega la siguiente cadena de conexión (Código 2). No olvides usar tu propio nombre de base de datos, ID de usuario y contraseña.
Server=.\SQLEXPRESS; Database=ozeki; UID=ozekiuser; PWD=ozekipass;
Código 2 - Cadena de conexión. Cambia los parámetros si es necesarioPaso 3 - Modificar el código VB.NET para conectar con Ozeki 10
Abre el proyecto de ejemplo en Visual Studio y edita el código fuente si es necesario. En código 3 debes proporcionar los mismos parámetros de conexión usados arriba en código 2. Los parámetros de VB.NET se añaden a la cadena de conexión 'myConnection' (Código 3).
Dim dbUsername As String = "ozekiuser" Dim dbPassword As String = "ozekipass" Dim database As String = "ozeki" Dim myConnection As _ New SqlConnection( _ "Server=.\SQLEXPRESS;User ID=" _ & dbUsername _ & ";password=" _ & dbPassword _ & ";Database=" _ & database _ & ";Persist Security Info=True")Código 3 - Verifica si los parámetros de conexión son correctos
Paso 4 - Insertar registro SMS en la base de datos
El siguiente código inserta el contenido de los cuadros de texto de la GUI de ejemplo VB.NET en la base de datos (Código 4).
Dim mySqlQuery As String = _ "INSERT INTO ozekimessageout " _ & "(receiver,msg,status) " _ & "VALUES ('" & tbReceiver.Text _ & "', '" & tbMessage.Text & "', 'send');" Dim mySqlCommand As New _ SqlCommand(mySqlQuery, myConnection)Código 4 - Inserta un nuevo registro de mensaje SMS en la base de datos
Este código solo puede ejecutarse si la aplicación VB.NET puede conectarse a la base de datos. Los valores insertables pueden proporcionarse en la GUI de la aplicación (Figura 2). Después de escribir el número del destinatario y el texto del mensaje, haz clic en 'Insertar' y el Usuario de Base de Datos de Ozeki 10 enviará el mensaje insertado al destinatario después de encontrar el registro en la base de datos.
Finalmente, se ejecutará la secuencia de código al final de la clase (Código 5). Se llamarán estos 3 métodos. Conectarán a la base de datos, insertarán el registro del mensaje SMS a enviar y cerrarán la conexión.
myConnection.Open() mySqlCommand.ExecuteNonQuery() myConnection.Close()Código 5 - Inserta el registro del mensaje
Código completo del ejemplo VB.NET
El código completo que puedes ver abajo (Código 6) está construido a partir de los segmentos descritos arriba (Código 3 - 5). Puedes usar y modificar libremente el código de ejemplo como desees. El método puede lanzar una excepción si no puede INSERTAR el mensaje SMS a enviar.
Imports System Imports System.Data Imports System.Data.SqlClient Public Class Form1 Private Sub bSend_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles bSend.Click Try Dim dbUsername As String = "ozekiuser" Dim dbPassword As String = "ozekipass" Dim database As String = "ozeki" Dim myConnection As New SqlConnection( _ "Server=.\SQLEXPRESS;User ID=" _ & dbUsername _ & ";password=" _ & dbPassword _ & ";Database=" _ & database _ & ";Persist Security Info=True") Dim mySqlQuery As String = "INSERT INTO " _ & "ozekimessageout(receiver,msg,status) " _ & "VALUES('" & tbReceiver.Text & "', '" _ & tbMessage.Text & "', 'send');" Dim mySqlCommand As New _ SqlCommand(mySqlQuery, myConnection) myConnection.Open() mySqlCommand.ExecuteNonQuery() myConnection.Close() Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub End ClassCódigo 6 - El código completo del ejemplo VB.NET
Con esta solución no tendrás que preocuparte por la cola de mensajes salientes, ya que la cola será manejada por la aplicación Ozeki 10 SMS Gateway. También añadirá una marca de tiempo y modificará el atributo de registro de estado del mensaje para mostrar el envío exitoso o fallido al destinatario.
Mensajes entrantes
También se recibirán y almacenarán en el servidor de base de datos. Aunque la aplicación VB.NET no necesita estar en línea cuando se recibe un mensaje, ya que puede ver la tabla 'ozekimessagein' en cualquier momento que esté en línea ejecutando una sentencia SELECT sobre la tabla.
Resumen
Este artículo te mostró cómo añadir funcionalidad de gestión de SMS a tu aplicación VB.NET con la ayuda de Ozeki SMS Gateway. Esta solución te ayuda a organizar tus mensajes con un servidor de base de datos que almacena los mensajes SMS, y la aplicación VB.NET que clasifica estos mensajes. Si has seguido los pasos anteriores cuidadosamente, ahora podrás configurar el sistema presentado, lo que hará que la comunicación sea más conveniente para ti.
La información que has obtenido es valiosa, hay más documentos útiles en el sitio web de Ozeki, así que sigue leyendo. Aprende sobre el ejemplo de SMS HTTP en VB.NET en el siguiente tutorial.
No pierdas tu precioso tiempo, ¡descarga Ozeki SMS Gateway ahora!
More information
- Cómo ejecutar código .NET cuando llega un SMS
- Guía de ejemplo de base de datos SMS en VB.NET
- Ejemplo HTTP SMS en VB.NET