התחברות עם אנדרואיד ל-SQL SERVER

danymaor

New member
התחברות עם אנדרואיד ל-SQL SERVER

אני מנסה להתחבר לבסיס נתונים חיצוני עם JAVA לאנדרואיד ולא מצליח.
ראיתי את הקוד הבא : http://amitku.wordpress.com/2011/08...-access-sql-database-server-from-android-app/
אני מקבל שגיאה על השורה : net.sourceforge.jtds.jdbc.Driver
לא משנה מה אני עושה אני לא מצליח להתחבר לבסיס נתונים חיצוני.

אני יודע שלא מומלץ בכלל להתחבר ישירות לבסיס נתונים ורצוי מאוד להתחבר דרך web service אבל כרגע רק לניסיונות אני רוצה להתחבר ישירות. אם מישהו יוכל להגיד לי מה לא בסדר בקוד שלהם אני ממש אשמח כי אני עובד על זה כבר כמה ימים.

כמובן שצרפתי את הקובץ JAR

וכמובן שהוספתי ל-manifest

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 

nocgod

New member
עד כמה שאני יודע

לא ניתן להתחבר ישירות ממכשיר אנדרואיד לבסיס נתונים ממה שאני הבנתי אתה צריך לעשות סוג של service שיקבל הודעות מהמכשיר (נגיד JSONנים למניהם או XML) והוא יתפעל מול הDB שלך ישירות ואת המידע יהפוך בחזרה לJSON וישלח למכשיר...
 

selalerer

New member
אתה יודע למה?

בסופו של דבר הרי זה Java שרץ על Linux. איך הם מונעים את זה? בקוד של ה-JVM?
 

nocgod

New member
האמת שאני לא בדיוק יודע באיזה רמה זה נחסם

האמת יש debate רציני לגבי האם אנדרואיד זה distro של לינוקס, כי בפועל יש שם רק kernel של לינוקס ולא את כל שאר הספריות והדברים שבאים עם לינוקס.
וגם אין שם באמת JVM יש שם מימוש שלהם של מכונה וירטורלית מה קוראים אותה dalvik.
לדעתי פשוט אין דרייברים של jdbc שעובדים עם אנדרואיד...
 

danymaor

New member
יש מלא דוגמאות קוד באינטרנט ואף אחד לא עובד ל

יש מלא דוגמאות קוד באינטרנט ואף אחד לא עובד לי.
אני ממש ממש אשמח לעזרה כי אני מנסה כבר שבוע להתחבר לבסיס נתונים חיצוני ולא מצליח. למישהו יש רעיון (או אולי מדריך שעובד) זה פשוט תוקע לי את כל הפרויקט שאני עובד עליו.
ראיתי שיש גם אפשרות להתחבר עם קובץ PHP ולהחזיר נתונים לאנדרואיד, אני פחות מכיר PHP אבל אם יהיה מדריך שעובד אני חושב שאני אוכל להסתדר.
אני ממש אשמח לעזרה
 

selalerer

New member
בין השאר הם אומרים שם שצריך לצרף את jar של...

...ה-DB driver שאתה רוצה לעבוד איתו לפרוייקט שלך ואז כשתעשה build זה ימיר אותו לפורמט של אנדרואיד ויארוז אותו יחד עם ה-package שלך.
 

nocgod

New member
אתה מתכנת אנדרואיד -> אתה מכיר JAVA

תבנה תוכנת צד שרת שיושבת חוצץ בין האפליקציה שלך לבין הDB, אם אתה רוצה אתה מוזמן להשתמש בhibernate ולייצר לך DAL מלא, בשלב הבא תייצר שכבה שמקבלת באמצעות סוקט רגיל או HTTP או וובסוקט מידע באמצעות JSON או XML או כל דרך שבא לך.
לצורך העניין בפרוייקט אחרון שכתבתי הייתי צריך לממש שרת למסעדה השתמשתי בvertx כדי להרים שרת HTTP ובsockJS כדי להרים וובסוקט, כל הלקוחות התחברו לשרת שלי בwebsocket והעבירו מידע באמצעות JSON. המידע היה בעצם אובייקט שפירסרתי ל json באמצעות jackson אבל אתה יכול להשתמש גם ב GSON אם אתה רוצה. וככה אתה עושה serialize לבקשה (אובייקט שמכיל בקשה או אובייקט שמייצג בקשה ומכיל מידע לביצוע הבקשה) שולח אותו לשרת שלך הוא מקבל את המחרוזת שלך עושה לה de-serialize בחזרה לאובייקט, לפי סוג האובייקט או המידע שהוא מכיל הוא מבצע פעולה כלשהיא מול ה DB ואם צריך מחזיר מידע בחזרה לשולח.
יש גם אופציה לעשות את זה עם PHP אבל אז אתה חייב שרת שיודע להריץ PHP וכמובן להכיר קצת את השפה...
 
למעלה