SMS küldés C#-ból SQL adatbázis használatával
Ebben a cikkben arról olvashat, hogyan lehet
C#.Net-ből adatbázis használatával SMS üzenetet küldeni mobil készülékekre az
Ozeki NG SMS Gateway segítségével. Az Ozeki NG SMS Gateway az SMS üzeneteket a
mobilhálózatba vagy egy GSM modemen keresztül juttatja el, ami a számítógéphez
egy adatkábellel van csatlakoztatva; vagy IP SMS kapcsolaton keresztül
közvetlenül csatlakozik a mobilszolgáltató SMS központjához. Ezen az oldalon
részletesebb információkat találhat erről a megoldásról.
A megoldás megvalósításához szükséges forráskódokat és adatokat
itt letöltheti: csharp-sms-example.zip
Az 1. ábra szemlélteti a megoldás működését. A rendszer a
következő elemekből épül fel: GSM modem, amely adatkábellel van csatlakoztatva,
egy SQL-SMS Gateway software, amelyet a számítógépére kell telepíteni, egy SQL
adatbázis szerver (mint az SQL Express vagy az MS SQL), és végül az Ön SMS
alkalmazása. Ez az összetett rendszer a következő módon működik: az SMS
alkalmazás létrehoz egy SQL bejegyzést az adatbázisban. Az SMS szoftver kinyeri
ezt a bejegyzést egy SQL Select parancsot használva és kiküldi az SMS üzenetet
a GSM modemen keresztül.
Ábra 1 - SMS küldés és fogadás PHP-ból adatbázison keresztül.
Ahhoz, hogy ez a megoldás működjön, először fel kell készítenie
az adatbázisát. Ez azt jelenti, hogy létre kell hoznia két adatbázis táblát.
Az egyiket az SMS küldéshez (ozekimessageout) a másikat az SMS fogadáshoz
(ozekimessagein). Az adatbázistáblát úgy kell létrehoznia, hogy abban legyen
külön mező a küldő telefonszámának, a fogadó telefonszámának és az üzenet
szövegének. Illetve egy állapotot jelző mezőnek szintén kell lennie a táblában,
amely azt fogja mutatni, hogy az üzenet el lett-e küldve vagy sem. A 2. ábra
mutatja az adatbázistábla elrendezését. Miután létrehozta az adatbázistáblákat,
adjon meg egy felhasználónevet és jelszót, amelyet arra fog használni, hogy
bejelentkezzen az adatbázisba.
create database ozeki
GO
use database 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'
GO
|
Ábra 2 - Az adatbázistábla szerkezete
Ezek után az Ozeki NG SMS Gateway-t kell konfigurálnia ehhez a
megoldáshoz. A szoftverben installálnia kell egy GSM modem kapcsolatot és egy
új adatbázis felhasználót. Végül létre kell hoznia az SMS alkalmazását. Ehhez a
Visual Studio.Net-et használhatja. Itt a "Visual Application" opcióval új
projektet kell létre hoznia. Ez az alkalmazás szolgáltatja a grafikus
felhasználói felületet az SMS küldéshez. Az adatbázishoz kapcsolódik és egy új
bejegyzést hoz létre, ha egy üzenetet kiküld egy mobil készülékre.
Az alkalmazásnak tartalmaznia kell egy formátumot, amelyben a felhasználók
megszerkeszthetik az üzenetük szövegét. Tartalmaznia kell egy mezőt a címzett
telefonszámának, az üzenet szövegének és egy gombot az SMS küldés elindításához
(Ábra 3).
Ábra 3 - SMS formátum
Forráskód üzenetküldéshez
private void button1_Click(object sender, EventArgs e)
{
try
{
//Connect to the database
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = "Provider=SQLNCLI;Server=.\\;"+
"User ID=ozekiuser;password=ozekipass;Database=ozeki;Persist Security Info=True";
conn.Open();
if (conn.State == ConnectionState.Open)
{
//Send the message
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
string SQLInsert =
"INSERT INTO "+
"ozekimessageout (receiver,msg,status) "+
"VALUES "+
"('"+tbSender.Text+"','"+tbMsg.Text+"','send')";
cmd.CommandText = SQLInsert;
cmd.ExecuteNonQuery();
MessageBox.Show("Message sent");
}
//Disconnect from the database
conn.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
|
Amennyiben szeretné alkalmazni ezt a megoldást
vállalati rendszerében, látogassa meg termékoldalunkat,
ahol letöltheti az Ozeki NG SMS Gateway szoftvert.
|