none
התחברות למסד נתונים מקומי RRS feed

  • שאלה

  • סליחה שאני כותבת הכל בעברית- במקום להסתבך:)

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

    הבנתי שעדיף להשתמש במסד נתונים מקומי.

    אני מחפשת כעת:1. קישור טוב ללמוד מהר ובקלות איך בונים מסד מקומי כולל קשרי גומלין בין טבלאות וכו'

    2. האם יש אפשרות להשתמש עם דאטא קונטקסט כמו ב לינק טו אס קיו אל גם למסד מקומי כי כבר כתבתי הרבה

    קוד וחבל על העבודה חוץ מזה שאני לא מתחברת לצורה המורכבת יותר של התחברות למקור נתונים ע"י connectionstring 

    אם  מישהו יוכל לעזור לי אודה לו מאד!!!!!

    צרפתי כמה קטעי קוד שהשתמשתי לשליפה מהמסד והוספה למסד בתקווה שזה יעזור להסביר אותי:

    namespace Gmach
    {
        public partial class Details : Form
        {
            List<string> Selected;
            List<TbPeilutShotefet> ListPehilutShotefet;
            TbPeilutShotefet TblPehilutShotefet;//שם טבלה
            dbDataContext DataContext;
            TbFriend TblFreinds;//שם טבלה
            PehilutShotefet pehilutShotefet;//דף אחר
            Alvah alvah;//דף אחר
            PeraonChov peraon;//דף אחר
            Pikadon pikadon;//דף אחר
            MeshichatPikadon Meshicha;
            Truma truma;
            HotzahMkupa hotzah;
            TbDolar TblDolar;
            string Dol;
    
            public Details()
            {
                InitializeComponent();
                DataContext = new dbDataContext();
                TblPehilutShotefet = new TbPeilutShotefet();
                TblFreinds = new TbFriend();
                pehilutShotefet = new PehilutShotefet();
                ListPehilutShotefet = new List<TbPeilutShotefet>();
                TblDolar = new TbDolar();
                
            }
    
            private void Details_Load(object sender, EventArgs e)
            {
                lblDate.Text = (DateTime.Now.Date.ToString()).Split(' ')[0];
                lblDatte.Text = DateTime.Today.ToString();
                rbVisibal.Checked = true;
                ibNonVisibleInfo.Visible = false;
                if (ibNonVisibleInfo.Text != "")
                    checkBox1.Checked = true;
            }
    
    
            private void comboBox3_SelectedIndexChanged(object sender, EventArgs e)
            {
                ListPehilutShotefet = (from a in DataContext.TbPeilutShotefets
                                       select a).ToList();
    
                switch (comboBox2.SelectedIndex)
                {
                    //חיפוש לפי מספר תיק
                    case 1:
                         ListPehilutShotefet = (from a in DataContext.TbPeilutShotefets
                                                where a.FileNumber==Convert.ToInt32(comboBox3.Text)
                                                select a).ToList();
                        break;
                    //חיפוש לפי שם
                    case 2:
                         txtLastName.DataSource=(from a in DataContext.TbPeilutShotefets
                                      select a.LastName).ToList();
                        txtFirstName.DataSource = (from a in DataContext.TbPeilutShotefets
                                                   select a.FirstName);
                        ListPehilutShotefet = (from a in DataContext.TbPeilutShotefets
                                               where a.LastName == comboBox3.Text
                                               select a).ToList();
                        break;
                    //חיפוש לפי מספר פעולה
                    case 3:
                        ListPehilutShotefet = (from a in DataContext.TbPeilutShotefets
                                               where a.actionNumber == Convert.ToInt32(comboBox3.Text)
                                               select a).ToList();
                        break;
                    //חיפוש לפי תעודת זהות
                    case 4:
                        ListPehilutShotefet = (from a in DataContext.TbPeilutShotefets
                                               where a.Id == Convert.ToInt32(comboBox3.Text)
                                               select a).ToList();
                        break;
                    //חיפוש לפי כתובת
                    case 5:
                        ListPehilutShotefet = (from a in DataContext.TbPeilutShotefets
                                               where a.Address == comboBox3.Text
                                               select a).ToList();
                        break;
                    //חיפוש לפי עיר
                    case 6:
                        ListPehilutShotefet = (from a in DataContext.TbPeilutShotefets
                                               where a.City == comboBox3.Text
                                               select a).ToList();
                        break;
                    //חיפוש לפי תיאור כללי
                    case 7:
                        ListPehilutShotefet = (from a in DataContext.TbPeilutShotefets
                                               where a.TerurKlaly == comboBox3.Text
                                               select a).ToList();
                        break;
                }
                if (ListPehilutShotefet.Count() > 0)
                {
                        txtLastName.DataSource=(from a in ListPehilutShotefet
                                                    select a.LastName).ToList();
                        txtFirstName.DataSource = (from a in ListPehilutShotefet
                                                   select a.FirstName).ToList();
                    if (ListPehilutShotefet.Count() == 1)
                    {
                        //שליפה
                        if (ListPehilutShotefet[0].Id != null) txtId.Text = ListPehilutShotefet[0].Id.ToString();
                        if (ListPehilutShotefet[0].ActionDate != null) txtActionDate.Text = ListPehilutShotefet[0].ActionDate.ToString();
                        //if (ListPehilutShotefet[0].actionNumber != null) .Text = ListPehilutShotefet[0].actionNumber.ToString();
                        if (ListPehilutShotefet[0].Address != null) txtStreet.Text = ListPehilutShotefet[0].Address;
                        if (ListPehilutShotefet[0].City != null) txtCity.Text = ListPehilutShotefet[0].City;
                        if (ListPehilutShotefet[0].FirstName != null) txtFirstName.Text = ListPehilutShotefet[0].FirstName;
                        if (ListPehilutShotefet[0].LastName != null) txtLastName.Text = ListPehilutShotefet[0].LastName;
                        //if (ListPehilutShotefet[0].FileNumber != null) txt.Text = ListPehilutShotefet[0].Id.ToString();
                        //if (ListPehilutShotefet[0].Sum != null) txtNum.Text = ListPehilutShotefet[0].Id.ToString();
                        if (ListPehilutShotefet[0].TerurKlaly != null) txtTeurKlaly.Text = ListPehilutShotefet[0].TerurKlaly;
                        if (ListPehilutShotefet[0].WriteDate != null) lblDatte.Text = ListPehilutShotefet[0].WriteDate.ToString();
                        //if (ListPehilutShotefet[0].Ytra != null) txtCity.Text = ListPehilutShotefet[0].City;
    
                    }
                }
    
            }
            //שמירה
            private void button1_Click(object sender, EventArgs e)
            {
                try 
    	        {	        
    		        TblFreinds=(from a in DataContext.TbFriends
                                where a.IdFriens==Convert.ToInt32(txtId.Text)
                                select a).First();
                    MessageBox.Show("חבר זה כבר קיים במערכת");
    	        }
    	        catch (Exception)
    	        {
    		        SaveDetails();
    	        }           
            }
    
            private void SaveDetails()
            {
                //שמירה כחבר
                if (txtId.Text != null) TblFreinds.IdFriens = Convert.ToInt32(txtId.Text);
              //  else MessageBox.Show("חובה לעדכן מספר זהות");
                if (txtCellPhone.Text != null) TblFreinds.CellPhone = txtCellPhone.Text;
                if (txtCity.Text != null) TblFreinds.City = txtCity.Text;
                if (txtFirstName.Text != null) TblFreinds.FriendFirstName = txtFirstName.Text;
                if (txtLastName.Text != null) TblFreinds.FriendLastName = txtLastName.Text;
                if (txtNeigborhood.Text != null) TblFreinds.Neigborhood = txtNeigborhood.Text;
            //    if(txtNum.Text!=null )TblFreinds.//מספר בנין
                if (txtPhone.Text != null) TblFreinds.Phone = txtPhone.Text;
                if (txtStreet.Text != null) TblFreinds.Street = txtStreet.Text;
                if (txtTeurIshy.Text != null) TblFreinds.SimanEiker = txtTeurIshy.Text;//תיאור אישי
              //  if(txtTeurKlaly.Text!=null)TblFreinds.//תיאור כללי
                DataContext.TbFriends.InsertOnSubmit(TblFreinds);
                DataContext.SubmitChanges();
    
    
                //שמירה כפעילות
                if (txtId.Text != null) TblPehilutShotefet.Id = Convert.ToInt32(txtId.Text);
                else MessageBox.Show("חובה לעדכן מספר זהות");
                // if (txtCellPhone.Text != null) TblPehilutShotefet. = txtCellPhone.Text;
                if (txtCity.Text != null) TblPehilutShotefet.City = txtCity.Text;
                if (txtFirstName.Text != null) TblPehilutShotefet.FirstName = txtFirstName.Text;
                if (txtLastName.Text != null) TblPehilutShotefet.LastName = txtLastName.Text;
                //if (txtNeigborhood.Text != null) TblPehilutShotefet.Neigborhood = txtNeigborhood.Text;
                //    if(txtNum.Text!=null )TblFreinds.//מספר בנין
                //if (txtPhone.Text != null) TblPehilutShotefet. = txtPhone.Text;
                if (txtStreet.Text != null) TblPehilutShotefet.Address = txtStreet.Text;
                if (txtActionDate.Text != null) TblPehilutShotefet.ActionDate = Convert.ToDateTime(txtActionDate.Text);
                //if (txtTeurIshy.Text != null) TblPehilutShotefet.SimanEiker = txtTeurIshy.Text;//תיאור אישי
                if (txtTeurKlaly.Text != null) TblPehilutShotefet.TerurKlaly = txtTeurKlaly.Text;//תיאור כללי
                TblPehilutShotefet.WriteDate=DateTime.Today;
                DataContext.TbPeilutShotefets.InsertOnSubmit(TblPehilutShotefet);
                DataContext.SubmitChanges();
    
            }
            //הלוואה
            private void button19_Click(object sender, EventArgs e)
            {
                if (CheckingDolarAndId())
                {
                    alvah = new Alvah(txtId.Text,Dol);
                    alvah.Show();
                }
            }
            //פירעון
            private void button18_Click(object sender, EventArgs e)
            {
                if (CheckingDolarAndId())
                {
                    peraon = new PeraonChov(txtId.Text,Dol);
                    peraon.Show();
                }
            }
            //פיקדון
            private void button4_Click(object sender, EventArgs e)
            {
                if (CheckingDolarAndId())
                {
                    pikadon = new Pikadon(txtId.Text,Dol);
                    pikadon.Show();
                }
            }
            //משיכה
            private void button13_Click(object sender, EventArgs e)
            {
                if (CheckingDolarAndId())
                {
                    Meshicha = new MeshichatPikadon(txtId.Text,Dol);
                    Meshicha.Show();
                }
               
            }
         
            //תרומה
            private void button3_Click(object sender, EventArgs e)
            {
                if (CheckingDolarAndId())
                {
                    truma = new Truma(txtId.Text,Dol);
                    truma.Show();
                }
            }
            //הוצאה
            private void button2_Click(object sender, EventArgs e)
            {
                if (CheckingDolarAndId())
                {
                    hotzah = new HotzahMkupa(txtId.Text,Dol);
                    hotzah.Show();
                }
            }
            //פונקציה שבודקת אם הוכנס שער הדולר החדש או לא וכן אם עודכן מספר הזהות
            private bool CheckingDolarAndId()
            {
                if (txtId.Text == null)
                    MessageBox.Show("חובה להכניס מספר זהות");
                else
                {
                    if (txtShahrDolar.Text == null)
                    {
                        Dol = ((from a in DataContext.TbDolars select a.ShaharDolar).Last()).ToString();
                        MessageBox.Show("לא עדכנת את שער הדולר השער עומד כעת על " + Dol);
                    }
                    else
                        Dol = txtShahrDolar.Text;
                    return true;
                }
                return false;
            }
    
            private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
            {
                comboBox3.Items.Clear();
               
                switch (comboBox2.SelectedIndex)
                {
                    //חיפוש לפי מספר תיק
                    case 1:
                        Selected = (from a in DataContext.TbPeilutShotefets
                                    select a.FileNumber.ToString()).ToList();
                        break;
                    //חיפוש לפי שם
                    case 2:
                        Selected = (from a in DataContext.TbPeilutShotefets
                                    select a.LastName).ToList();
                        break;
                    //חיפוש לפי מספר פעולה
                    case 3:
                        Selected = (from a in DataContext.TbPeilutShotefets
                                    select a.actionNumber.ToString()).ToList();
                        break;
                    //חיפוש לפי תעודת זהות
                    case 4:
                        Selected = (from a in DataContext.TbPeilutShotefets
                                    select a.Id.ToString()).ToList();
                        break;
                    //חיפוש לפי כתובת
                    case 5:
                        Selected = (from a in DataContext.TbPeilutShotefets
                                    select a.Address).ToList();
                        break;
                    //חיפוש לפי עיר
                    case 6:
                        Selected = (from a in DataContext.TbPeilutShotefets
                                    select a.City).ToList();
                        break;
                    //חיפוש לפי תיאור כללי
                    case 7:
                        Selected = (from a in DataContext.TbPeilutShotefets
                                    select a.TerurKlaly).ToList();
                        break;
                }
                if (Selected.Count > 0)
                {
                    foreach (var item in Selected)
                        if(item!=null)
                            comboBox3.Items.Add(item);
                }
            }
        }
    }


    • נערך על-ידי שריתי יום שלישי 01 אפריל 2014 12:44
    יום שלישי 01 אפריל 2014 12:35

כל התגובות

  • ערב טוב שריתי

    1. ללמוד על הצד של מסד הנתונים זה תמיד מומלץ וטוב אבל במקיל כדאי להכיר את הגישה המקובלת עבור המפתח לפי מייקרוסופט והיא שהמפת לא אמור לגעת במסד הנתונים (לדעתי זו גישה לא טובה!). הטכנולוגיה של Linq to SQL היא טכנולוגיה ישנה שהוחלפה על ידי השימוש ב ORM של Entity Framework.

    כאמור הגישה המקובלת יותר היא שהמפתח אמור לבצע פעולות של פיתוח ברמת הקוד ולכן הומצאה הגישה של Entity Framework Code First. בטכנולוגיה זו את לא צריכה לעשות כלום במסד הנתונים. ה ORM אמור לבנות לך לבד את מסד הנתונים כולל טבלאות וכולל הקשרים בין הטבלאות (התוצאה דיי טובה למערכות קטנות, אבל DBA שיראה את מסד הנתונים יוכל לשפר את התוצאה אחר כך באופן ידני, למשל להוסיף אינדקסים ועוד).

    לכן אני ממליץ קודם כל לעבור ללמוד על Entity Framework ועל Entity Framework Code First במפרט.

    * הלימוד לא צריך להיות מורכב מפני שמדובר על אותה תשתית (כמובן שאפשר להמשיך לעבוד עם LINQ)

    * הקישור הבא כולל דיון בהבדלים בין הטכנולוגיות (מומלץ לקרוא לעומק לפחות את התשובות המסומנות):
    http://stackoverflow.com/questions/3293995/what-is-the-difference-between-entity-framework-and-linq-to-sql-by-net-4-0

    אפשר גם לעבור על הבלוג הקצר הבא (לא כולל קוד אלא הסברים כלליים בקצרה על ההבדלים בין גישות השונות): 
    http://blogs.msdn.com/b/dsimmons/archive/2008/05/17/why-use-the-entity-framework.aspx

    * תוכלי להתחיל את הלימוד בעזרת הסרטון הבא של צעד אחרי צעד מומלץ מאוד:
    http://msdn.microsoft.com/en-us/data/jj193542.aspxיש שם מדריך מלא כולל הקודים ובמקביל סירטון (קצת ישן ומדבר על תקופת 2010 אבל טוב להתחלה)

    עתה נחזור לשאלה שלך ולבקשה שלך :-)

    SQL Server עובד עם שפה בשם SQL (כמו רוב מסדי הנתונים הנפוצים שעובדים עם טבלאות Relational DBMS ). לכל שרת כמעט יש בנוסף הרחבה של שפה שייחודית לו. למשל SQL Server עובד עם שפה בשם Transact-SQL. את כל מה ששאלת כיצד עושים אנחנו עושים עם שפה זו. גם כאשר אנחנו עובדים עם EF כמו שהזכרתי קודם למעשה השרת SQL מכיר רק את השפה הזו. תפקיד ה EF זה לתרגם את הקוד שלנו ב C# ולשלוח אל ה SQL הוראות ב Transact-SQL או בשם המקוצר TSQL.

    ישנם כלים גרפיים שמאפשרים לבצע את כל הפעולות שאת שאלת עליהם. הכלי העיקרי שהוא חובה ללימוד לדעתי הוא sql server management studio או בקיצור SSMS. בכל מקרה גם אם את רוצה לעבוד עם שאילתות ישירות או עם הכלי הגרפי אנחנו עובדים עם הכלי הזה. זה הלי המרכזי של כל DBA.

    לכן שלב ראשון עלייך להוריד ולהתקין SSMS

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

    תגידי לנו אם התוכנה מותקנת אצלך כבר ונמשיך לצעד הבא

    2. אין בעיה לעבוד עם מסד נתונים מקומי מסוג EXPRESS למשל. העבודה איתו דומה לחלוטין לעבודה עם הגרסה המלאה (יש כמה דברים מאוד מתקדמים שאין בו אבל זה לא קשור לקוד שלך). תתקיני רסה של SQL EXPRESS ותעבדי איתו מקומית אם את צריכה

    הערה: היום בדיוק יצאה הגרסה של SQL 2014 ואפשר כבר להוריד אותה. מומלץ מאוד לעבוד עם הרסה האחרונה אם אפשר לצרכי פיתוח (בשרת חי הדברים מעט שונים לפעמים). פירסמתי פרטים בעמוד הפייסבוק שלי כרגע :-)


    [Personal Site] [Blog] [Facebook]signature

    יום שלישי 01 אפריל 2014 16:13
    מנחה דיון
  • ערב טוב!

      2008  ssms המחשב עם מערכת הפעלה של אקס פי  ולכן יש לי התקנה של 

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

    אני מעדיפה לעבוד על אס קיו אל אבל נתקעתי כי אין לי את שם השרת אז איך אני מתחברת????

    מעדיפה לקבל את התשובה שלך איך להסתדר עם התקנה טובה של אס קיו אל ואז יחסך ממני ללמוד דברים חדשים בחוסר זמן

    תודה מראש על הכל!!!!


    • נערך על-ידי שריתי יום שלישי 01 אפריל 2014 17:18
    יום שלישי 01 אפריל 2014 17:17
  • אהלן שריתי,

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

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

    כמה נקודות שאולי יעזרו (פשרה ללימוד גרוע ומהיר יותר):

    1. אני לא יודע לגבי שימוש ב XP אבל אני דיי בטו שאין בעיה לעבוד עם גרסאות ישנות יותר של SQL (אני בטוח ש 2005 יעבוד נהדר מפני שהוא הומצא בתקופה של ה XP למשל) וכניראה גם ה 2008 וה 2008R2. לגבי 2012 וגרסת 2014 אני לא יודע אם הן מתאימות.

    2. אין בעיה לעבוד עם מסד נתונים מקומי על XP ול משחק מחשב כמעט שאת מתקינה עושה את זה. השאלה איזה סוג של מסד נתונים.

    3. לא הבנתי את האמירה "אין לי את שם השרת", אם אין לך שרת אז אין לך שם של שרת.

    אם התקנת את השרת מקומית על ה XP אז את יכולה למצוא את השם של ה INSTANCE כך:

    שלב ראשון: תפתחי את חלון רשמת השירותים במחשב שלך (הנה מדריך מתאים ל XP)
    http://www.jasonn.com/turning_off_unnecessary_services_on_windows_xp

    שלב שני: חפשי שירות בשם SQL Server ובסוריים יופיע שם כלשהו. השם בסוגריים הוא החלק החשוב לנו! זה השם של ה INSTANCE ובאמצעותו אנחנו נתחבר לשרת

    שלב שלישי: התחברות לשרת מקומי (אם לא מצאת את השירות הוא כניראה לא מותקן... אבל אני לא בטוח במאה אחוז מה קורה ב XP למרות שלהערכתי אין הבדל)
    פיתחי את תוכנת ה SSMS, בחלון ההחברות לשרת תשלימי את הפרטים בהתאם לתמונה במדריך זה:
    http://learningsqlserver.wordpress.com/2011/02/04/sql-server-management-studio-ssms-basics/

    שימי לב שמקום SQLEXPRESS שמופיע בתמונה את צריכה להכניס את השם של ה INSTANCE אצלך. אם את התקנת SQLEXPRESS אז כניראה שזה יהיה שם ה INSTANCE אבל למעלה הסברתי כיצד לבדוק בכל מקרה מה השם אצלך.

    4. אחרי שהתחברת לשרת חפשי בגוגל מדריכים לפעולות בסיסיות ב SQL לפי הסדר שבדרך כלל מבצעים בפועל. פשוט תכניסי את המילות החיפוש שאני רושם לך

    SQL Server create database
    SQL Server create table
    sql server add relationship

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


    [Personal Site] [Blog] [Facebook]signature

    יום רביעי 02 אפריל 2014 12:22
    מנחה דיון
  • שלום רב!

    סליחה שלא הסברתי את עצמי טוב.

    אני יודעת SQL server ומעדיפה לעבוד אתו מה שאין לי זמן ללמוד זה תחליף ל SQL.

    אני ניסיתי פעמים רבות להכניס SQLEXPRESS בשם השרת וזה גם הINSTANCE  שכתוב לי 

    אבל הוא קופץ לי כל פעם עם השגיאה

    login failed for user. (microsoft SQL server, error 18456)

    בדקתי בגוגל מהי הבעיה, מציעים ליצור משתמש חדש. האם אין דרך אחרת לפתור את הבעיה???


    יום רביעי 02 אפריל 2014 17:07
  • האם אני מבין נכון שכל הבעיה שלך כרגע זה להתחבר לשרת?
    אני לא דיברתי על התחברות עם משתמש של השרת אלא עם משתמש של מערכת ההפעלה! משתמש נוסף לא יעזור כי הוא לא האדמין של מערכת ההפעלה. רק אחרי שנצליח להתחבר לשרת נוכל להגדיר בו משתמשים מקומיים של השרת (שהם שונים מהמשתמשים של מערכת ההפעלה)

    אם כן: (1) האם ניסית להתחבר אליו עם המשתמש האדמין של המחשב? (2) האם את בטוחה שניסית להתחבר אליו עם הרישום הנכון כפי שמוצג בתמונה בקישור מעל? (3) תבדקי ותצלמי לנו את הפםרטים של מי מפעיל את השירות של השרת SQL, וגם את השם של ה INSTANCE בבקשה. 
    * אני מניח שהשירות עובד ומותקן לפי הודעת השגיאה הבעיה היא פשוט בהתחברות (השרת נמצא אבל ההתחברות לא הצליחה ככל הניראה)


    [Personal Site] [Blog] [Facebook]signature

    יום רביעי 02 אפריל 2014 17:23
    מנחה דיון
  • אכן, זוהי הבעיה שלי מלכתחילה.

    אך הטעו אותי שאין אפשרות למחשב מקומי ללא רשת להתחבר לשרת ולכ שאלתי בצורה אחרת.

    עכשיו:

    חשבון המשתמש שלי שאתו אני נכנסת והוא חשבון מנהל, ושרתים-


    ההתחברות שלי לשרת דרך הSQL ועכשיו נתקלתי בשגיאה שונה

    תודה רבה!!!

    ההסברים מאד ברורים!!


    • נערך על-ידי שריתי יום חמישי 03 אפריל 2014 15:35
    יום חמישי 03 אפריל 2014 15:34
  • הודעת השגיאה אומרת בסך הכל שהשרת לא נמצא... מעניין מדוע :-) נעבור לתמונה הראשונה והנה התשובה

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

    אם זה המצב אז עכשיו מגיע השלב שאת צריכה להחזיק אצבעות :-)
    אם ההתקנה טובה והכל עובד אז לא צריכה להיות בעיה להפעיל את השירת של השרת SQL ולגרום לו להתחיל לעבוד.

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

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


    [Personal Site] [Blog] [Facebook]signature

    יום חמישי 03 אפריל 2014 17:43
    מנחה דיון
  • סליחה על הבאלגן!!!

    אני מנסה לעשות הפעל אז קופצת לי השגיאה:

    לwindows לא היתה אפשרות להפעיל את SQLserver SQLEXSPRESS במחשב מקומי ... ולבדוק בשגיאה 2146885628

    בדקתי בגוגל מה זה אומר אבל יש שם פתרון למחשב מתקדם יותר.

     וכן קובת לוג השגיאות זה מה שנמצא ב:

    C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Log???

    אם כן אז כתוב שם:

    2014-04-03 21:30:36.65 Server      Error: 17190, Severity: 16, State: 1.
    2014-04-03 21:30:36.65 Server      Initializing the FallBack certificate failed with error code: 1, state: 1, error number: -2146893802.
    2014-04-03 21:30:36.71 Server      Unable to initialize SSL encryption because a valid certificate could not be found, and it is not possible to create a self-signed certificate.
    2014-04-03 21:30:36.75 spid10s     1 transactions rolled back in database 'model' (3). This is an informational message only. No user action is required.
    2014-04-03 21:30:36.75 spid10s     Recovery is writing a checkpoint in database 'model' (3). This is an informational message only. No user action is required.
    2014-04-03 21:30:36.81 Server      Error: 17182, Severity: 16, State: 1.
    2014-04-03 21:30:36.81 Server      TDSSNIClient initialization failed with error 0x80092004, status code 0x80. Reason: Unable to initialize SSL support. Cannot find object or property.

    2014-04-03 21:30:36.81 Server      Error: 17182, Severity: 16, State: 1.
    2014-04-03 21:30:36.81 Server      TDSSNIClient initialization failed with error 0x80092004, status code 0x1. Reason: Initialization failed with an infrastructure error. Check for previous errors. Cannot find object or property.

    2014-04-03 21:30:36.81 Server      Error: 17826, Severity: 18, State: 3.
    2014-04-03 21:30:36.81 Server      Could not start the network library because of an internal error in the network library. To determine the cause, review the errors immediately preceding this one in the error log.
    2014-04-03 21:30:36.81 Server      Error: 17120, Severity: 16, State: 1.
    2014-04-03 21:30:36.81 Server      SQL Server could not spawn FRunCM thread. Check the SQL Server error log and the Windows event logs for information about possible related problems.

    לא יודעת מה לעשות!!!!!

    אולי כמו שאמרת נפנה כבר לעזרה אישית בתשלום?!?


    • נערך על-ידי שריתי יום ראשון 06 אפריל 2014 17:37
    יום ראשון 06 אפריל 2014 17:36
  • אני מניח שעזרה בתשלום תיתן לך התייחסות יותר מהירה לפחות :-) עזרה חיצונית בדרך מומלצת לעסקים קטנים שלא יכולים להחזיק את העזרה במקום (יועץ חיצוני לא יוכל להתחייב לך לפתרון בעיות בלי שהוא מכיר את המערכת אבל ככל הנראה יעשה זאת לאחר ההכרות... בכל מקרה כל התהליך שעשינו כאן היה לוקח בטח כמה דקות והוא היה עולה מהר על כך שהישורת בכלל לא מופעל).
    מצטער על התגובה המאוחרת אבל התקדמנו :-)

    עכשיו אנחנו יודעים שהבעיה לא קשורה בכלל לבעיה המקורית ששאלת, הבעיה שלך היא שהשרת בכלל לא מתחיל לרוץ.

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

    1. ניראה שיש לכם טעינה של certificate בזמן עליית השרת וה certificate לא מאושר

    אפשרות 1: לתקן certificate 

    אפשרות 2: למחוק את ה certificate (כרוך בכניסה למפתחות של מערכת ההפעלה)

    * לפני ביצוע צריך לוודא שזו אכן הבעיה מול מי שהתקין או ניהל את השרת. יש לוודא האם וכיצד הוא הגדיר certificate. אני לא ממליץ בשום אופן על שינויים במפתחות מערכת ההפעלה למי שאינו שולט בנושא וכמובן אחרי שביצע גיבויים מתאימים מלאים!

    אפשרות 3. יכול להיות שאתם מנסים להשתמש בגרסת ניסוי שעבר זמנה? למשל שימוש ב CTP. מצאתי באינטרנט שבגרסת 2008 למשל זה היה נפוץ כאשר עבדו עם גרסת הניסוי אחרי שעבר הזמן.

    אפשרות 4: בעיות הקשורות בפרופיל של משתמש. שימוש בפרופיל המשתמש שמפעיל את השירות שלא מוגדר טוב יכול להוביל לבעיה כזו.

    ועוד כהנה וכהנה... אבל זו נקודות התחלה :-)


    [Personal Site] [Blog] [Facebook]signature

    יום שני 07 אפריל 2014 19:51
    מנחה דיון
  • שנה טובה שרית

    האם השאלה עדיין רלוונטית?
    אא בידקי את התשובות וסגרי את השרשור אם לא :-)


    signature   Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]

    יום ראשון 04 ינואר 2015 12:43
    מנחה דיון