Kako poslati SMS iz C# koristeći SQL Server
Preuzimanje:
Sending_SMS_through_MS_SQL_Server.zip
Pogledajte kako poslati SMS unosom redova u Microsoft SQL bazu podataka kroz C#.NET aplikaciju. Ova tehnologija je namenjena programerima sa osnovnim znanjem u C#.NET i SQL-u. Preuzeti izvorni kod vam pomaže da počnete.
U narednim poglavljima možete pronaći potrebne preduslove i detaljno objašnjenje kako koristiti kod. Korisni dijagram toka pokazuje vam osnovnu vezu između korisnika C# aplikacije i telefona primaoca.
Kod je koristan ako želite da
- dodate SMS funkcionalnost svojoj C# aplikaciji.
- integrišete automatizovana SMS obaveštenja.
- obezbedite svoje proizvode dodavanjem SMS prijave.
Preduslovi
Softverski zahtevi sistema su navedeni u sledećoj tabeli. Molimo vas da preuzmete SMS Gateway i instalirate SMS Gateway softver sa .NET framework 4.5 i Microsoft Visual Studio da biste pokrenuli svoj kod.
Operativni sistem: | Windows 11, Windows 10, Windows 8, Windows 7, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2008 R2, Windows Vista |
Osnovni softverski zahtevi: |
.NET Framework 4.5
Ozeki SMS Gateway Microsoft SQL Server 2016 Express Edition ili novije verzije Microsoft SQL Server-a |
Razvojna platforma: | Microsoft Visual Studio |
Kako to radi
Prvo morate da instalirate Ozeki SMS Gateway i kreirate korisnika baze podataka u SMS Gateway-u. Povežite korisnika sa vašom MSSQL bazom podataka. SMS poruke za slanje će biti SELECT-ovane iz tabele odlaznih poruka, koja se podrazumevano zove 'ozekimessageout'.
Zatim treba da instalirate C#.NET okruženje. Vaša C# aplikacija može da se poveže sa vašom MSSQL bazom podataka i unese SMS poruke u tabelu odlaznih poruka.
Uverite se da je vaš Ozeki SMS Gateway povezan sa GSM mrežom preko GSM modema ili bilo kog IP SMS provajdera preko interneta. Na primer CIMD2 ili UCP/EMI su veoma popularne veze ka provajderima usluga.
Pogledajte tok rada C# kroz MSSQL vezu na Slici 1.
U osnovi, Microsoft SQL Server može biti dostupan i iz vaše C# aplikacije i iz Ozeki SMS Gateway-a. Sve dolazne i odlazne poruke se čuvaju na MSSQL Server-u za dalju upotrebu.
Dodavanjem odgovarajućeg koda u vašu C# aplikaciju, možete je povezati sa vašom SQL bazom podataka kako bi bila u mogućnosti da INSERT-uje nove redove u tabelu odlaznih poruka i čita dolazne poruke.
Korisnik baze podataka Ozeki SMS Gateway-a može da čita tabelu odlaznih poruka kako bi poslao SMS poruke i INSERT-uje nove redove u tabelu dolaznih poruka kako bi ih drugi korisnici pročitali. Na primer, korisnik C# aplikacije može da ih pročita.
Kako podesiti vaš MSSQL Server Korak 1: Instalirajte Microsoft SQL Server 2016 Express EditionKorak 2: Pokrenite Microsoft SQL Server 2016 Express Edition i prijavite se.
Korak 3: Uključite autentifikaciju servera, tako da uvek zahteva par korisnika i lozinke baze podataka. (Kratak tutorijal za pomoć)
Korak 4: Kreirajte bazu podataka i dodelite select, insert, update, delete dozvole korisniku. (Kratak tutorijal za pomoć) Dodajte korisnika baze podataka u Ozeki SMS Gateway Korak 1: Pokrenite Ozeki 10 Pomoć sa slikama)
Korak 2: Pokrenite Ozeki SMS Gateway iz Ozeki 10 radne površine.
Korak 3: Instalirajte korisnika baze podataka i podesite connection string. (Kratak tutorijal za pomoć) Koristite preuzeti C# kod Korak 1: Preuzmite zip fajl i raspakujte ga.
Korak 2: Podesite podatke za povezivanje sa SQL bazom podataka u 'DatabaseHandling.cs'. (Kratak tutorijal za pomoć)
Korak 3: Pokrenite Ozeki 10 servis ako nije pokrenut. (Kratak tutorijal za pomoć)
Korak 4: Izgradite i pokrenite projekat u Microsoft Visual Studio
Korak 5: Pojaviće se prozor. Kliknite na dugme Compose message.
Popunite polja za primaoca i tekst poruke i kliknite 'Send'. (Kratak tutorijal za pomoć)
Kako funkcioniše primer koda
Preuzimanje koda na vrhu stranice može umetnuti poruke u tabelu 'ozekimessageout'. Ozeki SMS Gateway's Database User periodično proverava 'ozekimessageout' kako bi pronašao nove redove poruka i poslao ih na telefon primaoca. Svaki red poruke ima atribut statusa. Nakon slanja SMS poruke, status će se promeniti iz 'Send' u 'Sent'.
Ne zaboravite da proverite da li je vaš Microsoft SQL server uključen i radi i izmenite detalje veze sa serverom u 'DatabaseHandling.cs', koju možete pronaći u primeru projekta.
C# klase primer koda
MainForm.cs (Slika 2):
Ova klasa sadrži prvi prozor koji se otvara.
Kao što možete videti na Slici 2, može prikazati sadržaj dve tabele.
Ovaj sadržaj se čita SELECT upitom iz 'ozekimessageout' i 'ozekimessagein'.
Takođe sadrži dva dugmeta 'Osveži'
i dugme 'Napiši poruku'. Pritisnite ga da biste koristili sledeću klasu, 'ComposeMessageForm.cs'.
ComposeMessageForm.cs (Slika 3):
Ovo je sledeća stranica gde možete popuniti potrebna polja podataka kako biste kreirali novu poruku.
DatabaseHandling.cs:
Ovde možete podesiti vezu sa bazom podataka (Slika 4)
i osvežiti tabele u 'MainForm.cs'.
Kako funkcioniše kod za slanje poruka
U 'ComposeMessageForm.cs' možete popuniti dva polja sa adresom primaoca i tekstom poruke. Pritiskom na 'Pošalji', možete pokrenuti sledeći kod:
ComposeMessageForm.cs... private void buttonSend_Click(object sender, EventArgs e) { CheckAndSendMessage(); } private void CheckAndSendMessage() { if (textBoxRecipient.Text == "") { MessageBox.Show("Polje primaoca ne sme biti prazno!", "Netačna vrednost polja"); return; } string errorMsg = ""; DatabaseHandling.insertMessage(textBoxRecipient.Text, textBoxMessageText.Text, out errorMsg); MessageBox.Show(errorMsg, "Rezultat umetanja poruke"); } ...Slika 5 - Proverava da li je polje primaoca prazno
Metod CheckAndSendMessage() se poziva pomoću 'buttonSend_Click(...)'. Metod počinje proverom polja primaoca i pokreće insertMessage(...) iz 'DatabaseHandling.cs' ako polje primaoca NIJE prazno (Slika 5). insertMessage(...) može umetnuti novi red u tabelu 'ozekimessageout' (Slika 6) (Podrazumevana vrednost atributa msgtype je SMS:TEXT). Ozeki SMS Gateway će čitati redove sa SQL servera kao što možete videti na dijagramu toka gore.
DatabaseHandling.cs... public static void insertMessage(string receiver, string messageText, out string errorMsg) { Connect(out errorMsg); if (errorMsg != "") return; try { SqlCommand sqlComm = sqlConn.CreateCommand(); sqlComm.CommandText = "insert into ozekimessageout " + "(msgtype,receiver,msg,status) " + "values ('SMS:TEXT','" + receiver + "','" + messageText + "','send');"; if (sqlComm.ExecuteNonQuery() == 0) { errorMsg = "Umetanje NIJE uspešno!"; } else { errorMsg = "Umetanje je uspešno!"; } } catch (Exception e) { errorMsg = e.Message; } CloseConnection(); } ...Slika 6 - INSERT poruke u vašu SQL bazu podataka
Možete koristiti druge tipove poruka osim 'SMS:TEXT' (npr. 'SMS:WAPPUSH', 'SMS:VCARD') kao što možete videti na Slici 7.
... sqlComm.CommandText = "insert into ozekimessageout " + "(msgtype,receiver,msg,status) " + "values ('SMS:WAPPUSH','" + receiver + "','" + messageText + "','send');"; ...Slika 7 - Tip poruke promenjen iz 'SMS:TEXT' u 'SMS:WAPPUSH'
Često postavljana pitanja
Pitanje:
Da li ovaj C# primer može da radi na drugom računaru osim
mašine Ozeki SMS Gateway-a ili MSSQL servera?
Odgovor: Da, može. Molimo vas da izmenite IP adresu u 'DatabaseHandling.cs' na IP adresu vašeg MSSQL servera.
Pitanje:
Mogu li promeniti broj telefona pošiljaoca?
Odgovor:
Da. Molimo vas da umetnete broj pošiljaoca u red poruke takođe (Slika 8).
Ovo radi samo ako imate IP SMS vezu.
... string SenderNumber = "+449876543"; sqlComm.CommandText = "insert into ozekimessageout " + "(msgtype,sender,receiver,msg,status) " + "values ('SMS:TEXT','" + SenderNumber + "','" + receiver + "','" + messageText + "','send');"; ...Slika 8 - Izmenjen INSERT INTO upit sa dodatnim atributom 'sender'
Резиме
Овај чланак је објаснио како послати SMS из C# користећи SQL Server. То значи да можете послати SMS уметањем реда у Microsoft SQL базу података. Овај систем користи C#.NET апликацију. Слање SMS-а са SQL Server-а значи да можете користити SQL језик за претрагу порука или управљање SMS порукама. То ће значајно побољшати ефикасност комуникације унутар ваше организације и убрзати проток информација.
Ако желите да сазнате више о технологији коју Ozeki нуди, посетите Ozeki веб сајт. Саветујемо вам да почнете са C# SMS API. Више ћете сазнати о Ozeki C# SMS API у овом чланку. Затим, ако желите да пошаљете SMS користећи HTTP SMS API, посетите овај чланак: HTTP SMS API.
Да бисте почели да шаљете SMS поруке користећи API-е, преузмите Ozeki SMS Gateway сада и почните са радом!
More information
- C# SMS API
- C# ASP SMS skripta
- Kako poslati SMS iz C# koristeći HTTP get
- C# SMS API za SQL