Actualizarea aplicației cu tranziția de la componentele mdac la serverul propriu client sql

În plus, componentele MDAC includ componente pentru utilizarea obiectelor OLE DB, ODBC și ADO, iar SQL Server Native Client implementează numai interfețe OLE DB și ODBC (deși obiectele ADO pot utiliza funcționalitatea SQL Server Native Client).







Componentele SQL Server Native și componentele MDAC diferă de asemenea în următoarele domenii.

Utilizatorii care utilizează obiecte ADO pentru a accesa furnizorul SQL Server Native Client pot avea mai puține funcții de filtrare decât atunci când accesează furnizorul OLE DB SQL.

Dacă utilizați SQL Server Client nativ și încearcă să actualizeze o coloană de calculat, apoi un mesaj de eroare apare în aplicația ADO. Dacă utilizați componente MDAC, actualizarea va fi acceptată, dar va fi omisă.

Un client SQL Native este un fișier DLL independent. Numărul de interfețe de acces deschis este minimizat pentru a simplifica distribuția și pentru a spori securitatea.

Numai interfețele OLE DB și ODBC sunt acceptate.

Furnizorul OLE DB și driverul SQL Server Native Client ODBC au alte nume decât cele utilizate în componentele MDAC.

Funcțiile definite de utilizator furnizate de componentele MDAC pot fi utilizate atunci când lucrați cu propriul client SQL Server. Aceste funcții includ, dar nu se limitează la: crearea de baze de conexiuni, susținerea obiectelor ADO și susținerea cursorilor clienților. Dacă utilizați oricare dintre aceste funcții, propriul client SQL Server oferă doar o conexiune la baza de date. Componentele MDAC oferă funcții precum urmărirea, controalele în interfața de gestionare și contoarele de performanță.

Clientul SQL Server Native acceptă accesul la versiunile anterioare ale bazelor de date SQL Server.

Clientul SQL Server Native acceptă configurarea bibliotecilor de rețea din partea clientului utilizând numai atributele șirului de conexiune. Dacă doriți să configurați biblioteci de rețea mai complexe, trebuie să utilizați Managerul de configurare SQL Server.

Clientul SQL Server Native este incompatibil cu odbcbcp.dll. Aplicații care utilizează atât interfețe de programare ODBC cât și bcp. trebuie să reconstruiți adăugând un link către fișierul sqlncli11.lib astfel încât să poată utiliza propriul client SQL Server.

Clientul SQL Native Nativ nu este acceptat de la Microsoft OLE DB Provider pentru ODBC (MSDASQL). Dacă utilizați driverul MDAC SQLODBC împreună cu MSDASQL sau driverul MDOD SQLODBC cu ADO, utilizați OLE DB în propriul client SQL Server.

Șirul de conectare MDAC acceptă o valoare booleană (adevărată) pentru cuvântul cheie Trusted_Connection. Șirul de conectare client SQL Server Native trebuie să fie setat la da sau nu.

Au fost făcute schimbări minore în ceea ce privește avertismentele și erorile. Acum, avertismentele și erorile care sunt returnate de server către clientul propriu al SQL Server rămân aceeași gravitate. Ar trebui să testați temeinic aplicația dacă munca depinde de interceptarea anumitor avertismente și erori.

Eroarea de verificare în propriul client SQL Server este mai strictă decât în ​​componentele MDAC, ceea ce înseamnă că unele aplicații care nu respectă pe deplin specificațiile ODBC și OLE DB pot funcționa diferit. De exemplu, furnizorul SQLOLEDB nu aplică regula conform căreia numele parametrilor care rezultă trebuie să înceapă cu simbolul @ și furnizorul OLE DB al Clientului Nativ SQL Server aplică această regulă.







Clientul nativ SQL Server și componentele MDAC răspund diferit la ruperea conexiunii. De exemplu, componentele MDAC returnează valorile cache pentru proprietățile unei conexiuni rupte, în timp ce clientul nativ SQL Server raportează eroarea aplicației de apel.

Clientul SQL Server Native nu generează evenimente Visual Studio Analyzer, ci generează evenimente de urmărire Windows.

Un client nativ SQL Server nu poate fi utilizat cu monitorul sistemului. Un monitor de sistem este un instrument Windows care poate fi utilizat numai pentru fișierele DSN care utilizează driverul SQLODD MDOD inclus în Windows.

Clientul SQL Native implementează interfața IDBDataSourceAdmin. este o interfață opțională OLE DB, care nu au pus în aplicare anterior, dar a implementat doar metoda CreateDataSource această interfață. Într-o versiune ulterioară a Microsoft SQL Server, această componentă va fi eliminată. Evitați utilizarea acestei componente în noi lucrări de dezvoltare, și intenționează să modifice aplicațiile în care se aplică.

Furnizorul OLE DB Client Native SQL Server returnează sinonime în seturile de linii ale schemelor TABLES și TABLE_INFO, cu parametrul TABLE_TYPE setat la SYNONYM.

Componentele MDAC vă permit să executați următoarele afirmații atunci când executați tranzacții manuale sau implicite, iar clientul SQL Native Client nu. Acestea trebuie să fie efectuate în modul de comitere automată.

Toate operațiile fulltext (operații DDL cu index și director)

Toate operațiile cu baza de date (crearea unei baze de date, schimbarea bazei de date, ștergerea bazei de date)

Acest tip de mapare afectează valorile returnate pentru metadatele coloanelor. De exemplu, dimensiunea maximă a textului coloanei este 2147483647, dar rapoartele SQL Server Client nativ că dimensiunea maximă a varchar (max) coloanelor este SQL_SS_LENGTH_UNLIMITED și rapoarte OLE DB SQL Server Client nativ că dimensiunea maximă a (max) coloana varchar este egal cu 2147 483 647 sau -1, în funcție de platformă.

SQL Server Client nativ pentru a se asigura compatibilitatea inversă poate fi o ambiguitate în șirul de conectare (de exemplu, anumite cuvinte cheie pot fi specificate de mai multe ori, și poate preveni, de asemenea, utilizarea de cuvinte cheie în conflict, în timp ce există o soluționare a conflictelor în funcție de poziția sau de prioritate). Următoarele versiuni de SQL Server nativ ambiguității Client în șiruri de conexiune pot deveni inacceptabile. Când schimbați aplicația pentru a lucra cu SQL Server Client nativ ar trebui să fie furnizate pentru a elimina orice dependență de ambiguitate șir de conexiune.

Când începeți tranzacțiile utilizând un apel ODBC sau OLE DB, clientul dvs. nativ SQL Server și componentele MDAC se comportă diferit; când lucrați cu propriul client SQL Server, tranzacțiile sunt pornite imediat, iar atunci când se utilizează componente MDAC, tranzacția începe numai după prima accesare a bazei de date. Acest lucru poate afecta comportamentul procedurilor și pachetelor stocate, deoarece SQL Server cere ca valoarea @@ TRANCOUNT după executarea procedurii sau pachetului stocat să fie aceeași ca atunci când începe pachetul sau procedura stocată.

Când se utilizează SQL Server Native Client, metoda ITransactionLocal :: BeginTransaction determină începerea tranzacției imediat. Dacă utilizați componente MDAC, tranzacția este întârziată până când aplicația execută o instrucțiune care necesită o tranzacție în modul implicit. Pentru mai multe informații, consultați SET IMPLICIT_TRANSACTIONS (Transact-SQL).

Dacă utilizați driverul SQL Server Native Client cu entitatea System.Data.Odbc pentru a accesa SQL Server care utilizează noi tipuri și funcții de date specifice SQL Server, pot apărea erori. Esența System.Data.Odbc oferă o implementare universală a ODBC și, prin urmare, nu oferă funcții și extensii specifice furnizorului. (Driverul clientului SQL Server nativ a fost actualizat pentru a suporta cele mai recente caracteristici SQL Server.) Pentru a rezolva această problemă, puteți reveni la utilizarea componentelor MDAC sau puteți migra la System.Data.SqlClient.

Clienții nativi SQL Server și MDAC acceptă stratul de izolare a tranzacțiilor citite atunci când se utilizează versiuni de șiruri de caractere, însă izolarea tranzacțiilor instantanee este acceptată numai de clientul nativ SQL Server. (În ceea ce privește programarea, nivelul de izolare a tranzacțiilor READ COMMITTED și versiunea stringurilor sunt aceleași cu tranzacția READ COMMITTED.)







Articole similare

Trimiteți-le prietenilor: