آموزش اتصال اپلیکیشن اندروید به SQL Server به طور مستقیم

تو این قسمت از آموزش ما قصد داریم نحوه اتصال اپلیکیشن اندروید به SQL Server بدون نیاز به وب سرور و به طور مستقیم رو به شما آموزش بدیم. برای انجام اینکار ما از درایور JDBC jTDS استفاده میکنیم. شما میتونید این درایور رو از سایت jtds.sourceforge.net دانلود کنید. فقط در نظر داشته باشید که نسخه ۱٫۳٫۱ دارای مشکلاتی هست و همیشه کار نمیکنه.
نسخه ۱٫۳٫۰ نسخه پیشنهادی و سالم هستش که از طریق این لینک قابل دانلود هستش. وقتی که فایل jar. رو دانلود کردید اون رو در پروژه خودتون در پوشه libs منتقل کنید سپس به قسمت (build.gradle(module: app بروید و در قسمت dependencies بنویسید (“compile files(“libs\jtds1.3.0.jar و سپس gradle خود را sync کنید.

مشاهده نسخه با کیفیت تر در یوتیوب

اتصال مستقیم پایگاه داده sql در اندروید

نوبت درست کردن کانکشن اپلیکیشن اندروید شماست. یه کلاس جدید به اسم ConnectionClass درست کنید که public باشد. ما در ابتدا برای برقراری کانکشن نیازمند به پنج string هستیم. Stringهای ip, classs, db, un, pass.
String ip که در واقع IP شبکه ای هست که اپلیکیشن اندروید شما به دیتابیس متصل میشه میتونه از نوع IP Static باشه یا IPv4 اگه بخواهید به صورت local به دیتابیس وصل بشید. برای پیدا کردن IPv4 میتوانید با دستور ipconfig در cmd بسته به نوع adapter یا اتصالتون اون رو پیدا کنید. String classs رو باید با مقدار net.sourceforge.jtds.jdbc.Driver پر کنید. این مقدار اسم کلاس کانکتور ما هست که جلوتر کاربرد این string توضیح داده خواهد شد. String db در واقع اسم دیتابیس شما است. String un همون Username دیتابیس شما و String pass همون Password دیتابیس شما هست. حالا تابع public Connection رو درست کنید که implements میشه از java.sql و اسم اون رو CONN بذارید. در ابتدا درون این تابع ما شیء به نام StrictMode.ThreadPolicy به اسم policy درست میکنیم و اون رو برابر با newStrictMode.ThreadPolicy.Builder().permitAll().Build() میذاریم. اما این شیء چیست؟
StrictMode برای مواقعی استفاده میشه که بخواهیم به صورت ناگهانی به Network و یا Disk دسترسی سریع داشته باشیم و از اونا استفاده کنیم به طوری که باعث کند شدن اپلیکیشن نشه یعنی این استفاده از main thread جدا میشه و باعث بهتر کار کردن اپلیکیشن میشه. متدهای زیادی برای StrictMode موجود هست که یکی از آن‌ها permitAll هست که باعث غیرفعال کردن همه detection ها میشه. حال که StrictMode رو تعریف کردیم برای شروع کار این رشته از دستور StrictMode.setThreadPolicy استفاده می‌کنیم و در داخل پرانتز اسم شیء یعنی policy رو مینویسیم.
Connection که باز implements میشه از java.sql درست می‌کنیم و اسم اون رو conn میذاریم و فعلا مقدارش رو null میذاریم. یک String به اسم ConnURL هم درست کرده و مقدار اون رو هم فعلا null میذاریم. در نظر داشته باشید که تابع Connection باید مقداری رو برگردونه که اون مقدار همون conn هستش.

آموزش اتصال اپلیکیشن اندروید به SQL Server

حالا دستور Class.forName رو بنویسید و داخل پرانتز classs رو بنویسید. این دستور برای پایه ریزی یا تاسیس کانکشن ما هست زمانی که داریم از JDBC استفاده می‌کنیم. با استفاده از این دستور میشه پیکربندی خارجی برای پارامترهای مورد نیاز درایور برای کانکشنمون به دیتابیس انجام داد. سپس String ConnURL رو که قبلا تعریف کرده بودیمش رو برابر با چیزی که در عکس مشاهده می‌کنید قرار می‌دهیم. در صورت استفاده از IP Static نیازی به تعریف پورت ندارید اما اگر می‌خواهید به صورت لوکال متصل بشید باید Port Number رو تعریف کنید. Port Number به صورت پیش فرض معمولا ۱۴۳۳ هست اما امکان کار نکردن از این درگاه وجود داره که در صورت بروز این اتفاق میتونید Port Number مجزا برای کانکشن این دیتابیس درست کنید که فقط از اون درگاه به خصوص دیتابیس شما گوش کنه که در آخر این آموزش به این موضوع میپردازیم. بعد از پر کردن String ConnURL که توضیح دادیم نوبت به مقدار conn که تعریف شده بود میرسه که باید اون رو برابر با DriveManager.getConnection قرار دهید و در داخل پرانتز ConnURL بنویسید. با این دستور کانکشن اپلیکیشن با دیتابیس انجام میشه. توجه کنید که سه خط آخر باید درون try/catch باشد و برای هر خط باید یک catch جدا بنویسید. اولین catch از نوع SQLException هست که اسم اون رو se می ذاریم. درونش باید یک log بگیرید به اسم ERRO که پیام این exception رو بده. برای گرفتن پیام از se.getMessage استفاده کنید. دومین catch از نوع ClassNotFoundException هست که اسم اون رو e میذاریم. درون این هم یک log بگیرید به اسم ERRO که پیام این exception رو بده. برای گرفتن پیام از e.getMessage استفاده کنید. سومین catch از نوع Exception معمول هست که اسم اون رو هم e می‌گذاریم. درون این catch دقیقا مانند درون ClassNotFoundException هست.

آموزش اتصال اپلیکیشن اندروید به SQL Server

اگر از این مقاله خوشت اومده مقاله آموزش کامل Intent در اندروید رو هم ببین.

آموزش set کردن Port Number خاص برای SQL Server

تو این قسمت ما قصد داریم به شما آموزش دهیم که چگونه یک Port خاص برای SQL Server خود درست کنید. همانطور که در بالا توضیح دادیم این کار باعث میشود چیزی که به دیتابیس شما وصل میشود به عنوان مثال اپلیکیشن اندروید شما فقط از یه درگاه خاص با آن ارتباط برقرار کنند. خب برای اینکار باید به sql server configuration manager بروید. می‌توانید از طریق سرچ سیستم عاملتون میتونید این قسمت رو پیدا کنید. در صورت پیدا نکردن از آن طریق Win+R رو بزنید سپس در قسمت open بنویسید compmgmt.msc و اوکی رو بزنید.

compmqmt.msc

پنجره ای که مقابل شما باز می‌شود computer management هست سپس قسمت Services and Application را باز کنید و روی sql server configuration دوبار کلیک کنید و اینطوری شما وارد sql server configuration می شوید.

آموزش اتصال اپلیکیشن اندروید به SQL Server به طور مستقیم

وقتی که وارد شدید روی قسمت sql server network configuration یک بار کلیک کنید سپس برای شما قسمت Protocols for MSSQLSERVER نمایان می‌شود روی آن دوبار کلیک کرده تا سه قسمت Shared Memory , Named Pipes و TCP/IP برای شما نمایان شود.

 اتصال اپلیکیشن اندروید به SQL Server

روی TCP/IP دوبار کلیک کرده تا TCP/IP Properties برای شما باز شود سپس به قسمت IP Addresses بروید و در بخش IPAll مقدار TCP Port را به عددی که می‌خواهید تغییر دهید و دکمه OK رو بزنید. به عنوان مثال من با درگاه (port (49172 کار می‌کنم.

آموزش اتصال اپلیکیشن اندروید به SQL Server به طور مستقیم

بعد از زدن دکمه OK پیغامی مبنی بر restart کردن سرویس خود دریافت می‌کنید. برای آن پیغام هم دکمه OK رو بزنید. برای restart کردن سرویس خود باید به قسمت SQL Server Services بروید و سپس روی سرویس در حال اجرا SQL Server کلیک راست کرده و سپس restart رو بزنید.

sql server در اندروید

با انجام این کار باید Progress Bar مبنی بر متوقف شدن سرویس و سپس شروع شدن سرویس برای شما نشان داده شود. خب حالا دیتابیس SQL Server شما فقط از Port Number که شما برای اون تعریف کردید گوش می‌کند و اطلاعات را جابجا می کند!
شما می‌تونید ویدیو آموزشی این مطلب رو ببینید و از اون استفاده کنید. در آموزش بعدی نحوه ساختن فرم لاگین و وارد کردن اطلاعات و نشان دادن اطلاعات از Sql server با استفاده از درایور jTDS JDBC به شما توضیح داده میشه. امیدوارم این آموزش برای شما مفید بوده باشه.

مهدیار مهتدی
مهديار مهتدي هستم. سه ساله كه به صورت فريلنسر روی برنامه نويسي اندرويد كار مي كنم. رشتم مكانيكه ولي در كنارش كاراي الكترونيكي هم دوست دارم و انجامش ميدم.😁
دیدگاه ها

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

صفحه اینستاگرام کانال تلگرام