დაკავშირების ფონდი – მობილური აპლიკაციების შემუშავება, ვებ სერვისები, SOA არქიტექტურა – ტექნოლოგია
შინაარსზე გადასვლა

კავშირის გაერთიანება - მობილური აპლიკაციების შემუშავება, ვებ სერვისები, SOA არქიტექტურა

Რეკლამები

რა არის კავშირის გაერთიანება?

კავშირის გაერთიანება საშუალებას გაძლევთ ხელახლა გამოიყენოთ არსებული კავშირები, რათა შეამციროთ ზედნადები მუდმივი შექმნისა და ჩამოგდების კავშირების, რომლებსაც აქვთ იგივე კონფიგურაცია. სხვა სიტყვებით რომ ვთქვათ, კავშირების გახსნა და დახურვა, რომლებიც იყენებენ იმავე კავშირის სტრიქონს და სერთიფიკატებს, შეუძლიათ ხელახლა გამოიყენონ ხელმისაწვდომი კავშირი აუზში. ტიპიური აპლიკაციები იყენებენ იმავე კავშირის ობიექტებს მონაცემთა ბაზიდან მუდმივად მოსატანად და განახლებისთვის. კავშირის გაერთიანება უზრუნველყოფს მუშაობის ბევრად უფრო მაღალ დონეს, რაც გამორიცხავს მონაცემთა ბაზის მუდმივი შექმნისა და კავშირების ჩამოშლას. კავშირის აუზები გამოყოფილია პროცესის, აპლიკაციის დომენისა და კავშირის სტრიქონის მიხედვით. კავშირის სტრიქონებისთვის, რომლებიც იყენებენ ინტეგრირებულ უსაფრთხოებას, იქმნება ცალკე აუზი თითოეული უნიკალური იდენტობისთვის.

კავშირის გაერთიანების პარამეტრების კონტროლი

კავშირის გაერთიანება ჩართულია ნაგულისხმევად ADO.NET კავშირის ობიექტების შექმნისას. თქვენ შეგიძლიათ გააკონტროლოთ კავშირის გაერთიანების ქცევა (ან კავშირის გაერთიანება მთლიანად გამორთოთ) კავშირის გაერთიანებისთვის კონკრეტული კავშირის სიმებიანი საკვანძო სიტყვების დაყენებით. მაგალითად, კავშირის გაერთიანების კონკრეტულად გამორთვისთვის, დააყენეთ Pooling=False თქვენი კავშირის სტრიქონში. ცხრილი 5-7 გთავაზობთ კავშირის სიმებიანი საკვანძო სიტყვების სიას, რომლებიც შეიძლება გამოყენებულ იქნას იმის გასაკონტროლებლად, თუ როგორ ურთიერთქმედებს კონკრეტული კავშირი კავშირის აუზთან. ყველა საკვანძო სიტყვა არ არის ხელმისაწვდომი ყველა პროვაიდერისთვის. მაგალითად, OLE DB პროვაიდერი აკონტროლებს კავშირის აუზს (ასევე ცნობილია როგორც რესურსი ან სესიის ფონდი) კავშირის სტრიქონში OLE DB Services საკვანძო სიტყვისთვის დაყენებული მნიშვნელობის საფუძველზე.

მაგიდის კავშირი აუზი კავშირის სტრიქონიკავშირის სიმებიანი თვისებების გარდა, რომლებიც აკონტროლებენ კავშირის გაერთიანების ქცევას, ასევე არსებობს მეთოდები, რომლებიც ხელმისაწვდომია კავშირის ობიექტებზე, რომლებსაც ასევე შეუძლიათ გავლენა მოახდინონ კავშირის გაერთიანებაზე. ხელმისაწვდომი მეთოდები ჩვეულებრივ გამოიყენება, როდესაც ხურავთ კავშირებს თქვენს აპლიკაციაში და იცით, რომ ისინი აღარ იქნება გამოყენებული. ეს ასუფთავებს შეერთების აუზს კავშირების გაუქმებით, ვიდრე დახურვისას მათ აუზში დააბრუნებს. ნებისმიერი კავშირი, რომელიც უკვე არის აუზში და ღია იქნება, გაუქმდება შემდეგ ჯერზე, როცა დაიხურება. ცხრილში 5-8 ჩამოთვლილია კავშირის აუზებთან ურთიერთქმედების ხელმისაწვდომი მეთოდები.

კავშირების კონფიგურაცია კავშირის გაერთიანების გამოსაყენებლად

ნაგულისხმევად, ყველა .NET Framework მონაცემთა პროვაიდერს, რომელიც ხელმისაწვდომია ADO.NET-ში, ჩართულია კავშირის გაერთიანება, მაგრამ კავშირის გაერთიანებასთან მუშაობისთვის ხელმისაწვდომი კონტროლის დონე განსხვავდება გამოყენებული პროვაიდერის მიხედვით.

კავშირის გაერთიანების კონფიგურაცია SQL Server კავშირებით

ნაგულისხმევად, SqlConnection ობიექტი ავტომატურად იყენებს კავშირის გაერთიანებას. ყოველ ჯერზე, როდესაც თქვენ დარეკავთ Sqlconnection.Open უნიკალური კავშირის სტრიქონით, იქმნება ახალი აუზი. აკონტროლეთ კავშირის აუზის ქცევა კავშირის აუზის საკვანძო სიტყვების დაყენებით კავშირის სტრიქონში, როგორც ეს ადრე იყო აღწერილი ცხრილში 5-7. მაგალითად, განიხილეთ კავშირი, სადაც გსურთ აუზის მინიმალური ზომის დაყენება. Mîn Pool Size საკვანძო სიტყვას ნულზე მეტი მნიშვნელობის მინიჭებით, თქვენ დარწმუნდებით, რომ აუზი არ განადგურდება განაცხადის დასრულებამდე. აუზის მინიმალური ზომის 5-ზე დასაყენებლად, გამოიყენეთ შემდეგი კავშირის სტრიქონი:

მონაცემთა წყარო=SqlServerName;Initial Catalog=DatabaseName; ინტეგრირებული უსაფრთხოება=True;აუზის მინიმალური ზომა=5

აუზის მინიმალური ზომა ნაგულისხმევად არის 0, რაც ნიშნავს, რომ თითოეული კავშირი უნდა შეიქმნას და ინიციალიზაციას მოთხოვნის შესაბამისად, კავშირის სტრიქონში მინიმალური აუზის ზომის გაზრდით, იქმნება კავშირების მითითებული რაოდენობა და მზად არის გამოსაყენებლად, რამაც შეიძლება შეამციროს დრო სჭირდება ამ საწყის კავშირებზე კავშირის დამყარებას.

კავშირის გაერთიანების კონფიგურაცია Oracle Connections-ით

კავშირები, რომლებიც იყენებენ .NET Framework Data Provider-ს Oracle-ისთვის, ავტომატურად იყენებენ კავშირის გაერთიანებას ნაგულისხმევად. თქვენ შეგიძლიათ აკონტროლოთ, თუ როგორ იყენებს კავშირი აუზს კავშირის სიმებიანი საკვანძო სიტყვების დაყენებით. ცხრილი 5-10 დეტალურად აღწერს კავშირის სიმებიანი საკვანძო სიტყვებს, რომლებიც ხელმისაწვდომია კავშირის აუზის აქტივობების შესაცვლელად.

კავშირის შეცდომის დამუშავება

როდესაც SQL Server აბრუნებს გაფრთხილებას ან შეცდომას, .NET Framework მონაცემთა პროვაიდერი SQL Server-ისთვის ქმნის და აგდებს SqlException-ს, რომელიც შეგიძლიათ დაიჭიროთ თქვენს აპლიკაციაში პრობლემის მოსაგვარებლად. როდესაც SqlException დააგდეს, შეამოწმეთ SqlException.Errors თვისება, რათა შეხვიდეთ შეცდომების კოლექციაზე, რომელიც დაბრუნდა SQL სერვერიდან. SqlException.Errors თვისება არის SqlErrorCollection კლასი (SqlError კლასების კოლექცია), რომელიც ყოველთვის შეიცავს მინიმუმ ერთ SqlError ობიექტს.

მეტი ინფორმაცია SQL სერვერის შეცდომები

SqlConnection ღია დარჩება 19 ან ნაკლები სიმძიმის დონის შეტყობინებებისთვის, მაგრამ, როგორც წესი, ავტომატურად დაიხურება, როდესაც სიმძიმე 20 ან მეტია.

Შემაჯამებელი

  • კავშირის გაერთიანება ჩართულია ნაგულისხმევად.
  • კავშირის გაერთიანების ვარიანტები განსაზღვრულია კავშირის სტრიქონში, გარდა ODBC პროვაიდერისა, რომელიც იყენებს ODBC მონაცემთა წყაროს ადმინისტრატორის დიალოგურ ფანჯარას Windows-ზე.
  • SqlException ობიექტი იქმნება SQL სერვერზე შეცდომის აღმოჩენისას.
  • SqlException გამონაკლისის თითოეული მაგალითი შეიცავს მინიმუმ ერთ SqlError გაფრთხილებას, რომელიც შეიცავს რეალურ სერვერის შეცდომის ინფორმაციას.
  • Windows Authentication (ასევე მოუწოდა ინტეგრირებული უსაფრთხოება) არის შემოთავაზებული მეთოდი მონაცემთა უსაფრთხოდ დასაკავშირებლად.
  • შეინახეთ კავშირის სტრიქონები, რომლებიც შეიცავს მგრძნობიარე ინფორმაციას აპლიკაციის კონფიგურაციის ფაილში და დაშიფრეთ ყველა კონფიგურაცია, რომელიც შეიცავს მგრძნობიარე ინფორმაციას.