Ako poslať SMS z C# pomocou SQL Servera
Stiahnuť:
Sending_SMS_through_MS_SQL_Server.zip
Pozrite si, ako poslať SMS vložením riadkov do databázy Microsoft SQL prostredníctvom aplikácie v C#.NET. Táto technológia je určená pre vývojárov so základnými znalosťami v C#.NET a SQL. Stiahnuteľný zdrojový kód vám pomôže začať.
V nasledujúcich kapitolách nájdete potrebné predpoklady a podrobné vysvetlenie, ako použiť kód. Užitočný diagram pracovného postupu vám ukáže základné prepojenie medzi používateľom aplikácie C# a telefónom príjemcu.
Kód je užitočný, ak chcete
- pridať funkciu SMS do vašej aplikácie v C#.
- integrovať automatizované SMS notifikácie.
- zabezpečiť svoje produkty pridaním prihlásenia cez SMS.
Predpoklady
Softvérové požiadavky systému sú uvedené v nasledujúcej tabuľke. Prosím, stiahnite si SMS Gateway a nainštalujte softvér SMS Gateway s .NET frameworkom 4.5 a Microsoft Visual Studio na spustenie vášho kódu.
Operačný systém: | Windows 11, Windows 10, Windows 8, Windows 7, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2008 R2, Windows Vista |
Základné softvérové požiadavky: |
.NET Framework 4.5
Ozeki SMS Gateway Microsoft SQL Server 2016 Express Edition alebo novšie verzie Microsoft SQL Server |
Vývojové prostredie: | Microsoft Visual Studio |
Ako to funguje
Najprv musíte nainštalovať Ozeki SMS Gateway a vytvoriť používateľa databázy v SMS Gateway. Pripojte používateľa k vašej MSSQL databáze. SMS správy na odoslanie budú vybrané z tabuľky odchádzajúcich správ, ktorá je štandardne nazvaná 'ozekimessageout'.
Potom by ste mali nainštalovať prostredie C#.NET. Vaša aplikácia v C# sa môže pripojiť k vašej MSSQL databáze a vložiť SMS správy do tabuľky odchádzajúcich správ.
Uistite sa, že váš Ozeki SMS Gateway je pripojený k GSM sieti cez GSM modem alebo cez poskytovateľa IP SMS služieb cez internet. Napríklad CIMD2 alebo UCP/EMI sú veľmi obľúbené pripojenia k poskytovateľom služieb.
Pozrite si pracovný postup pripojenia C# cez MSSQL na obrázku 1.
V podstate, Microsoft SQL Server môže byť prístupný z vašej aplikácie v C# aj z Ozeki SMS Gateway. Všetky prichádzajúce a odchádzajúce správy sú uložené na MSSQL Serveri pre ďalšie použitie.
Pridaním príslušných kódov do vašej aplikácie v C# ju môžete pripojiť k vašej SQL databáze, aby bola schopná vkladať nové riadky do tabuľky odchádzajúcich správ a čítať prichádzajúce správy.
Používateľ databázy Ozeki SMS Gateway je schopný čítať tabuľku odchádzajúcich správ na odosielanie SMS správ a vkladať nové riadky do tabuľky prichádzajúcich správ, aby ich mohli čítať iní používatelia. Napríklad, používateľ aplikácie v C# ich môže čítať.
Ako nastaviť váš MSSQL Server Krok 1: Nainštalujte Microsoft SQL Server 2016 Express EditionKrok 2: Spustite Microsoft SQL Server 2016 Express Edition a prihláste sa.
Krok 3: Zapnite autentifikáciu servera, aby vždy vyžadovala pár používateľa a hesla databázy. (Krátky návod)
Krok 4: Vytvorte databázu a udelte používateľovi oprávnenia na výber, vloženie, aktualizáciu a vymazanie. (Krátky návod) Pridanie používateľa databázy do Ozeki SMS Gateway Krok 1: Spustite Ozeki 10 Obrázková pomoc)
Krok 2: Spustite Ozeki SMS Gateway z pracovnej plochy Ozeki 10.
Krok 3: Nainštalujte používateľa databázy a nastavte reťazec pripojenia. (Krátky návod) Použitie stiahnutého kódu v C# Krok 1: Stiahnite súbor zip a rozbaľte ho.
Krok 2: Nastavte údaje pripojenia k SQL databáze v 'DatabaseHandling.cs'. (Krátky návod)
Krok 3: Spustite službu Ozeki 10, ak nebeží. (Krátky návod)
Krok 4: Zostavte a spustite projekt v Microsoft Visual Studio
Krok 5: Zobrazí sa okno. Kliknite na tlačidlo Vytvoriť správu.
Vyplňte polia príjemcu a textu správy a kliknite na 'Odoslať'. (Krátky návod)
Ako funguje príkladový kód
Stiahnuteľný kód na vrchu stránky môže vkladať správy do tabuľky 'ozekimessageout'. Database User Ozeki SMS Gateway periodicky kontroluje 'ozekimessageout', aby našiel nové riadky správ a odoslal ich na telefón príjemcu. Každý riadok správy má atribút stavu. Po odoslaní SMS správy sa stav zmení z 'Send' na 'Sent'.
Nezabudnite skontrolovať, či váš Microsoft SQL server beží, a upraviť údaje o pripojení servera v 'DatabaseHandling.cs', ktoré nájdete v príkladovom projekte.
C# triedy príkladového kódu
MainForm.cs (Obrázok 2):
Táto trieda obsahuje prvé okno, ktoré sa otvorí.
Ako môžete vidieť na obrázku 2, môže zobrazovať obsah dvoch tabuliek.
Tento obsah sa číta pomocou príkazu SELECT z 'ozekimessageout' a 'ozekimessagein'.
Obsahuje tiež dva tlačidlá 'Obnoviť'
a tlačidlo 'Vytvoriť správu'. Stlačte ho, aby ste použili ďalšiu triedu 'ComposeMessageForm.cs'.
ComposeMessageForm.cs (Obrázok 3):
Toto je ďalšia stránka, kde môžete vyplniť potrebné údaje na vytvorenie novej správy.
DatabaseHandling.cs:
Tu môžete nastaviť pripojenie k databáze (Obrázok 4)
a obnoviť tabuľky v 'MainForm.cs'.
Ako funguje kód na odosielanie správ
V 'ComposeMessageForm.cs' môžete vyplniť dve polia s adresou príjemcu a textom správy. Stlačením tlačidla 'Odoslať' môžete spustiť nasledujúci kód:
ComposeMessageForm.cs... private void buttonSend_Click(object sender, EventArgs e) { CheckAndSendMessage(); } private void CheckAndSendMessage() { if (textBoxRecipient.Text == "") { MessageBox.Show("Pole príjemcu nesmie byť prázdne!", "Nesprávna hodnota poľa"); return; } string errorMsg = ""; DatabaseHandling.insertMessage(textBoxRecipient.Text, textBoxMessageText.Text, out errorMsg); MessageBox.Show(errorMsg, "Výsledok vloženia správy"); } ...Obrázok 5 - Kontroluje, či je pole príjemcu prázdne
Metóda CheckAndSendMessage() je volaná pomocou 'buttonSend_Click(...)'. Metóda začína kontrolou poľa príjemcu a spustí insertMessage(...) z 'DatabaseHandling.cs', ak pole príjemcu NIE je prázdne (Obrázok 5). insertMessage(...) môže vložiť nový riadok do tabuľky 'ozekimessageout' (Obrázok 6) (Predvolená hodnota atribútu msgtype je SMS:TEXT). Ozeki SMS Gateway prečíta riadky z SQL serveru, ako môžete vidieť na diagrame toku vyššie.
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 = "Vloženie bolo NEúspešné!"; } else { errorMsg = "Vloženie bolo úspešné!"; } } catch (Exception e) { errorMsg = e.Message; } CloseConnection(); } ...Obrázok 6 - Vkladá správu do vašej SQL databázy
Môžete použiť iné typy správ ako 'SMS:TEXT' (napr. 'SMS:WAPPUSH', 'SMS:VCARD'), ako môžete vidieť na Obrázku 7.
... sqlComm.CommandText = "insert into ozekimessageout " + "(msgtype,receiver,msg,status) " + "values ('SMS:WAPPUSH','" + receiver + "','" + messageText + "','send');"; ...Obrázok 7 - Typ správy zmenený z 'SMS:TEXT' na 'SMS:WAPPUSH'
Často kladené otázky
Otázka:
Môže tento C# príklad bežať na inom počítači ako
počítač Ozeki SMS Gateway alebo MSSQL servera?
Odpoveď: Áno, môže. Upravte prosím IP adresu v 'DatabaseHandling.cs' na IP adresu vášho MSSQL servera.
Otázka:
Môžem zmeniť telefónne číslo odosielateľa?
Odpoveď:
Áno. Vložte prosím číslo odosielateľa tiež do riadku správy (Obrázok 8).
Funguje to len v prípade, že máte IP SMS pripojenie.
... string SenderNumber = "+449876543"; sqlComm.CommandText = "insert into ozekimessageout " + "(msgtype,sender,receiver,msg,status) " + "values ('SMS:TEXT','" + SenderNumber + "','" + receiver + "','" + messageText + "','send');"; ...Obrázok 8 - Upravený príkaz INSERT INTO s dodatočným atribútom 'sender'
Zhrnutie
Tento článok vysvetľuje, ako posielať SMS z C# pomocou SQL Servera. To znamená, že môžete poslať SMS vložením riadku do databázy Microsoft SQL. Tento systém využíva aplikáciu C#.NET. Posielanie SMS z SQL Servera znamená, že môžete použiť SQL jazyk na vyhľadávanie správ alebo správu SMS správ. Výrazne to zlepší efektivitu komunikácie vo vašej organizácii a urýchli tok informácií.
Ak sa chcete dozvedieť viac o technológiách, ktoré ponúka Ozeki, navštívte webovú stránku Ozeki. Odporúčame vám začať s C# SMS API. Viac sa dozviete o C# SMS API od Ozeki v tomto článku. Ak by ste chceli posielať SMS pomocou HTTP SMS API, navštívte tento článok: HTTP SMS API.
Ak chcete začať posielať SMS správy pomocou API, stiahnite si Ozeki SMS Gateway a začnite pracovať!
More information
- C# SMS API
- C sharp asp SMS script
- How to send SMS from c# using HTTP get
- C sharp SMS API for SQL