Az alkalmazás frissítése az mdac-összetevőkről a saját kliens sql-kiszolgálóra történő áttéréskor

Emellett az MDAC összetevők tartalmaznak OLE DB, ODBC és ADO objektumokat használó összetevőket, és az SQL Server Native Client csak OLE DB és ODBC interfészeket telepít (bár az ADO objektumok az SQL Server Native Client funkcióit is használhatják).

Az SQL Server Native Client és az MDAC összetevői szintén eltérnek az alábbi területeken.

Azok az felhasználók, akik ADO objektumokat használnak az SQL Server Native Client-szolgáltatóhoz való hozzáféréshez, kevesebb szűrési funkcióval rendelkezhetnek, mint az SQL OLE DB szolgáltató elérése során.

Ha az ADO natív SQL Server klienst használ, és megpróbálja frissíteni a számított oszlopot, megjelenik egy hibaüzenet. Ha MDAC összetevőket használ, a frissítés elfogadásra kerül, de kihagyásra kerül.

Az SQL Server Native Client egy önálló DLL fájl. A nyílt hozzáférési felületek számának minimalizálása megkönnyíti az elosztást és növeli a biztonságot.

Csak OLE DB és ODBC interfészek támogatottak.

Az OLE DB szolgáltató és az SQL Server Native Client ODBC illesztőprogramja nem tartalmaz más nevet az MDAC összetevőknél.

Az MDAC-összetevők által megadott, felhasználó által definiált funkciók a saját SQL Server ügyfélprogrammal való együttműködés során használhatók. Ezek a funkciók többek között, de nem kizárólagosan: kapcsolatcsomagok létrehozása, ADO-objektumok támogatása és kliens kurzorok támogatása. Ha ezeket a funkciókat használja, akkor a saját SQL Server kliens csak kapcsolatot biztosít az adatbázishoz. Az MDAC-komponensek olyan funkciókat biztosítanak, mint a nyomkövetés, az irányítás a kezelőfelületen és a teljesítményszámlálók.

Az SQL Server Native Client támogatja az SQL Server adatbázis korábbi verzióihoz való hozzáférést.

Az SQL Server Native Client támogatja az ügyféloldali hálózati könyvtárak konfigurálását csak a kapcsolódási karakterláncok attribútumaival. Ha összetettebb hálózati könyvtárakat szeretne konfigurálni, akkor az SQL Server Configuration Managert kell használnia.

Az SQL Server Native Client nem kompatibilis az odbcbcp.dll programmal. Olyan alkalmazások, amelyek ODBC és bcp programozási felületeket használnak. újra kell építeni az sqlncli11.lib fájlra mutató link hozzáadásával, hogy saját SQL Server klienst használhassanak.

Az SQL Server Native Client nem támogatott a Microsoft OLE DB-szolgáltatótól ODBC-hez (MSDASQL). Ha az MSDASQL vagy az MDOD SQLODBC illesztőprogrammal együtt használja az MDAC SQLODBC illesztőprogramot, használjon OLE DB-t a saját SQL Server kliensben.

Az MDAC kapcsolat string támogatja a Boolean értéket (true) a Trusted_Connection kulcsszóhoz. Az SQL Server Native Client kapcsolati karakterláncának yes vagy no értékre kell állnia.

Kis figyelmeztetések és hibák történtek. A kiszolgáló által az SQL Server saját kliensére visszaküldött figyelmeztetések és hibák ugyanolyan súlyosak maradnak. Alaposan meg kell vizsgálnia az alkalmazást, ha munkája bizonyos figyelmeztetések és hibák elfogadásától függ.

A saját SQL Server ügyfélprogramban lévő hibaellenőrzés szigorúbb, mint az MDAC-összetevőknél, ami azt jelenti, hogy egyes olyan alkalmazások, amelyek nem felelnek meg teljes mértékben az ODBC és az OLE DB specifikációknak, különböző módon működhetnek. Például az SQLOLEDB szolgáltató nem érvényesíti azt a szabályt, hogy az eredő paraméterneveknek @ szimbólummal kell kezdődniük, és az SQL Server Native Client OLE DB szolgáltatója érvényesítse ezt a szabályt.

Az SQL Server eredeti kliens és az MDAC összetevői eltérő módon reagálnak a kapcsolat megszakítására. Például az MDAC-összetevők visszaadott tárolási értékeket adnak ki a hibás kapcsolat tulajdonságainak, míg az SQL Server eredeti kliense a hibát a hívó alkalmazásnak jelenti.

Az SQL Server Native Client nem hoz létre Visual Studio Analyzer eseményeket, hanem Windows nyomkövetési eseményeket generál.

A natív SQL Server kliens nem használható a rendszer monitoron. A rendszerfigyelő Windows olyan eszköz, amelyet csak a Windows rendszerhez tartozó SQLODBC MDOD illesztőprogramot használó DSN fájlok használhatnak.

Az SQL Server Native Client implementálja az IDBDataSourceAdmin felületet. amely egy további interfész OLE DB, amelyet korábban nem hajtott végre, de csak a felület létrehozása CreateDataSource módszerét alkalmazza. A Microsoft SQL Server jövőbeli verziójában ez az összetevő eltávolításra kerül. Kerülje az összetevők új fejlesztésekben történő használatát, és tervezi a meglévő alkalmazások módosítását.

Az SQL Server Native Client OLE DB szolgáltató a TABLES és a TABLE_INFO séma sorhalmazában szinonimákat állít vissza, a TABLE_TYPE paraméter beállítása SYNONYM.

Az MDAC összetevők lehetővé teszik a következő utasítások futtatását manuális vagy implicit tranzakciók futtatásakor, és az SQL Server Native Client nem. Ezeket az automatikus bekapcsolási módban kell végrehajtani.

Minden teljes szöveges művelet (DDL műveletek index és könyvtárral)

Az adatbázisban végzett összes művelet (adatbázis létrehozása, adatbázis módosítása, adatbázis törlése)

Ez a típusú leképezés hatással van az oszlop metaadatainak visszaadott értékekre. Például a maximális mérete az oszlop szöveg 2147483647, de az SQL Server Native Client beszámol arról, hogy a maximális méret a varchar (max) oszlopok SQL_SS_LENGTH_UNLIMITED és OLE DB SQL Server Native Client beszámol arról, hogy a maximális méret a varchar (max) oszlop egyenlő 2147 483 647 vagy -1, a platformtól függően.

Az SQL Server Native Client érdekében visszamenőleges kompatibilitás lehet kétértelműséget a connection string (például egyes kulcsszavak megadható többször, és az is megakadályozzák, hogy a az ütköző kulcsszavak, míg van konfliktusmegoldás a pozíció vagy részesítendő). Az SQL Server Native Client következő verzióiban a kapcsolat-karakterláncok kétértelműsége érvénytelenné válhat. Ha megváltoztatja az alkalmazást a saját SQL Server ügyfélprogrammal való együttműködésre, akkor meg kell adnia a kapcsolódási sor kétértelműségének függőségét.

Amikor az ügyleteket ODBC vagy OLE DB hívással indítja el, az SQL Server natív kliens és az MDAC összetevők másképp viselkednek; amikor a saját SQL Server ügyfélprogrammal dolgozik, a tranzakciók azonnal elindulnak, és az MDAC-összetevők használata esetén az ügylet csak az adatbázisba való első hozzáférés után kezdődik. Ez befolyásolhatja a tárolt eljárások és csomagok viselkedését, mivel az SQL Server megköveteli, hogy a tárolt eljárás vagy csomag végrehajtása után a @@ TRANCOUNT értéke megegyezzen a csomag vagy a tárolt eljárás megkezdésekor.

A Native Client SQL Server használata esetén az ITransactionLocal :: BeginTransaction módszer az ügylet azonnali indítását eredményezi. Ha MDAC összetevőket használ, akkor a tranzakció késleltetésre kerül, amíg az alkalmazás végrehajt egy olyan instrukciót, amely implicit módon kíván tranzakciót. További információ: SET IMPLICIT_TRANSACTIONS (Transact-SQL).

Ha az SQL Server Native Client illesztőprogramot használja a System.Data.Odbc entitással, hogy hozzáférhessen az új SQL Server-specifikus adattípusokhoz és funkciókhoz használt SQL Serverhez, előfordulhat hiba. A System.Data.Odbc lényege az ODBC univerzális megvalósítását jelenti, és ennek megfelelően nem biztosítja a szolgáltatóra jellemző funkciókat és kiterjesztéseket. (Az SQL Server Native Client illesztőprogramja frissítésre került a legújabb SQL Server szolgáltatások támogatásához.) A probléma megoldásához visszatérhet az MDAC összetevők használatához, vagy áttérhet a System.Data.SqlClientre.

A natív SQL Server és MDAC kliensek támogatják az elolvasott elszámolt elkülönítési réteget a stringek verzióinak használatakor, de a pillanatfelvétel tranzakciók elkülönítését csak a natív SQL Server kliens támogatja. (A programozás szempontjából a READ COMMITED tranzakcióelkülönítési szint a stringek verziószámával megegyezik a READ COMMITTED tranzakcióval.)

Kapcsolódó cikkek