locked
קישור בסיס נתונים של MySQL לפני סגירת אפליקציה RRS feed

  • שאלה

  • שלום,

    אני כותב אפליקציה ב-WPF, ובין היתר היא מתקשרת עם בסיס נתונים שיצרתי ב-MySQL. 

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

    המטרה היא שהאפליקציה תעבוד במחשבים בהם לא מותקן שום שרת שהוא, לכן היא צריכה להיות קשורה לבסיס הנתונים באופן רציף.

    אני לא מצליח ליצור את הקשר הקבוע הזה על מנת שהאפליקציה תוכל לעבוד בכל מחשב ללא בעיות.

    תודה

    יום שני 19 ינואר 2015 14:27

תשובות

  • היי,

    לא ברור מה כוונתך ב- "קשר קבוע" ...

    בכל אופן, במקרה שלך, למה לא לעבוד עם SQLite, מול קובץ כך שאין פה data-base server שצריך להתחבר אליו. זה סה"כ קובץ שנטען לזכרון בלי התקנה: http://www.sqlite.org/

    בכל אופן, כדי להתחבר ל- MySQL על מכונה לוקאלית צריך לכתוב:

    MySql.Data.MySqlClient.MySqlConnection conn;
    string myConnectionString;
    
    myConnectionString = "server=127.0.0.1;uid=root;" +
        "pwd=12345;database=test;";
    
    try
    {
        conn = new MySql.Data.MySqlClient.MySqlConnection(myConnectionString);
        conn.Open();
    }
    catch (MySql.Data.MySqlClient.MySqlException ex)
    {
        MessageBox.Show(ex.Message);
    }

    כמובן שתעדכן את myConnectionString לפרטים שלך.

    בברכה,

    תומר


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.


    • נערך על-ידי תומר שמםModerator יום שלישי 20 ינואר 2015 21:54
    • סומן כתשובה על-ידי Eran Sharvit יום רביעי 21 ינואר 2015 13:29
    יום שלישי 20 ינואר 2015 21:54
    מנחה דיון

כל התגובות

  • בקרוב מומחי הקהילה ינסו לסייע.

    תודה.


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

    יום שלישי 20 ינואר 2015 10:26
  • היי,

    לא ברור מה כוונתך ב- "קשר קבוע" ...

    בכל אופן, במקרה שלך, למה לא לעבוד עם SQLite, מול קובץ כך שאין פה data-base server שצריך להתחבר אליו. זה סה"כ קובץ שנטען לזכרון בלי התקנה: http://www.sqlite.org/

    בכל אופן, כדי להתחבר ל- MySQL על מכונה לוקאלית צריך לכתוב:

    MySql.Data.MySqlClient.MySqlConnection conn;
    string myConnectionString;
    
    myConnectionString = "server=127.0.0.1;uid=root;" +
        "pwd=12345;database=test;";
    
    try
    {
        conn = new MySql.Data.MySqlClient.MySqlConnection(myConnectionString);
        conn.Open();
    }
    catch (MySql.Data.MySqlClient.MySqlException ex)
    {
        MessageBox.Show(ex.Message);
    }

    כמובן שתעדכן את myConnectionString לפרטים שלך.

    בברכה,

    תומר


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.


    • נערך על-ידי תומר שמםModerator יום שלישי 20 ינואר 2015 21:54
    • סומן כתשובה על-ידי Eran Sharvit יום רביעי 21 ינואר 2015 13:29
    יום שלישי 20 ינואר 2015 21:54
    מנחה דיון
  • היי תומר,

    תודה על התשובה, אך עדין ישנה בעיה.

    ראשית אני משתמש ב-mySQL בשל אילוצי לקוח.

    מחרוזת החיבור שלי היא: 

    const string mySQLconnectionString = "datasource=localhost;port=3306;username=user;password=123456";
    

    ולא כמו מה שרשמת (מבחינת הפרמטרים).

    את החיבור לבסיס הנתונים אני עושה כמו שרשמת ועובד מצוין.

    לשאלתך בנושא ה"קשר הקבוע" אני מתכוון לכך שכעת התכנה שכתבתי סגורה מבחינתי לגרסה הנוכחית. אך כדי לספק אותה ללקוח אני צריך לספק לו גם את בסיס הנתונים שהיא עובדת איתו. מכיוון שאין ללקוח חיבור ל-mySQL או כל חלופה אחרת, אני צריך לספק בסיס נתונים שיהיה מוטמע בתוכנה.

    השאלה שלי היא איך אני מטמיע את קובץ ה-sql הבודד שייצאתי מ-mySQL לתוך התכנה כך שהיא תחפש את הנתונים בקובץ הזה ולא בשרת שמותקן על המחשב.

    תודה

    יום רביעי 21 ינואר 2015 17:23