Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Vonatkozik a következőkre:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analitikai Platform System (PDW)
SQL adatbázis a Microsoft Fabric-ben
A Microsoft OLE DB Driver for SQL Server (18.2.1-es verzió) támogatja az UTF-8-kiszolgálókódolást. További információ az SQL Server UTF-8 támogatásáról:
Az illesztőprogram 18.4.0-s verziója támogatja az UTF-8-ügyfélkódolást (a Windows 10 és a Windows 11 Régióbeállítások területén a "Unicode UTF-8 használata a világnyelv támogatásához" jelölőnégyzettel engedélyezve).
Megjegyzés:
Az SQL Serverhez készült Microsoft OLE DB-illesztő a GetACP függvénnyel határozza meg a DBTYPE_STR bemeneti puffer kódolását.
A 18.4-es verziótól kezdve támogatottak azok a forgatókönyvek, amelyekben a GetACP UTF-8 kódolást ad vissza (a Windows 10 és a Windows 11 Régió beállításai területén a "Unicode UTF-8 használata a világnyelv támogatásához" jelölőnégyzettel engedélyezve). A korábbi verziókban, ha a puffernek Unicode-adatokat kell tárolnia, a puffer adattípusát DBTYPE_WSTR (UTF-16 kódolású) értékre kell állítani.
Adatbeszúrás UTF-8 kódolású CHAR vagy VARCHAR oszlopba
Amikor bemeneti paraméterpuffert hoz létre a beszúráshoz, a puffer leírása DBBINDING-struktúrák tömbje segítségével történik. Minden DBBINDING-struktúra egyetlen paramétert társít a fogyasztó pufferéhez, és olyan információkat tartalmaz, mint az adatérték hossza és típusa. A CHAR típusú bemeneti paraméterpuffer esetében a DBBINDING-struktúra wType értékét DBTYPE_STR kell beállítani. A WCHAR típusú bemeneti paraméterpuffer esetében a DBBINDING-struktúra wType értékét DBTYPE_WSTR értékre kell állítani.
Paraméterekkel rendelkező parancs végrehajtásakor az illesztőprogram paraméter adattípus-információkat hoz létre. Ha a bemeneti puffer típusa és a paraméter adattípusa egyezik, az illesztőben nem történik átalakítás. Ellenkező esetben az illesztőprogram a bemeneti paraméter pufferét a paraméter adattípusává alakítja. A paraméter adattípusát a felhasználó explicit módon állíthatja be az ICommandWithParameters::SetParameterInfo meghívásával. Ha az információ nem adandó meg, az illesztőprogram a paraméter adattípus-adatait a (a) oszlop metaadatainak lekérésével nyeri le a kiszolgálóról az utasítás elkészítésekor, vagy (b) megkísérli az alapértelmezett átalakítást a bemeneti paraméter adattípusából.
A bemeneti paraméter pufferét az illesztő vagy a kiszolgáló a bemeneti puffer adattípusától és a paraméter adattípusától függően konvertálhatja a kiszolgáló oszlopelütemezésére. Az átalakítás során adatvesztés léphet fel, ha az ügyfélkódlap vagy az adatbázis rendezési kódlapja nem tudja megjeleníteni a bemeneti puffer összes karakterét. Az alábbi táblázat az UTF-8-kompatibilis oszlopba való adatbeszúrás átalakítási folyamatát ismerteti:
| Puffer adattípusa | Paraméter adattípusa | Conversion | Felhasználói óvintézkedések |
|---|---|---|---|
| DBTYPE_STR | DBTYPE_STR | Kiszolgáló konvertálása ügyfélkódlapról adatbázis-rendezési kódlapra; kiszolgáló konvertálása adatbázis-rendezési kódlapról oszlop rendezési kódlapra. | Győződjön meg arról, hogy az ügyfélkódlap és az adatbázis rendezési kódlapja a bemeneti adatokban szereplő összes karaktert képviselheti. Lengyel karakter beszúrásához például az ügyfélkódlap beállítható 1250-re (ANSI Central European), és az adatbázis-rendezés a lengyelt használhatja rendezési tervezőként (például Polish_100_CI_AS_SC), vagy engedélyezve lehet az UTF-8. |
| DBTYPE_STR | DBTYPE_WSTR | Illesztőprogram konvertálása ügyfélkódlapról UTF-16 kódolásra; kiszolgáló átalakítása UTF-16 kódolásról oszlop rendezési kódlapra. | Győződjön meg arról, hogy az ügyfélkódlap a bemeneti adatokban szereplő összes karaktert meg tudja jelölni. Lengyel karakter beszúrásához például az ügyfélkódlap 1250 -re (ANSI Central European) állítható be. |
| DBTYPE_WSTR | DBTYPE_STR | Illesztőprogram konvertálása UTF-16 kódolásról adatbázis-rendezési kódlapra; kiszolgáló konvertálása adatbázis-rendezési kódlapról oszlop rendezési kódlapra. | Győződjön meg arról, hogy az adatbázis rendezési kódlapja a bemeneti adatokban szereplő összes karaktert képviselheti. Lengyel karakter beszúrásához például az adatbázis rendezési kódlapja a lengyelt használhatja rendezési tervezőként (például Polish_100_CI_AS_SC), vagy engedélyezve lehet az UTF-8. |
| DBTYPE_WSTR | DBTYPE_WSTR | Kiszolgáló átalakítása UTF-16-ról oszlop rendezési kódlapra. | Nincs. |
Adatlekérés UTF-8 kódolású CHAR vagy VARCHAR oszlopból
A lekért adatok pufferének létrehozásakor a puffer leírása DBBINDING-struktúrák tömbjének használatával történik. Minden DBBINDING-struktúra egyetlen oszlopot társít a beolvasott sorhoz. Az oszlopadatok CHAR-ként való lekéréséhez állítsa a DBBINDING-struktúra wType értékét DBTYPE_STR. Az oszlopadatok WCHAR-ként való lekéréséhez állítsa a DBBINDING-struktúra wType értékét DBTYPE_WSTR értékre.
Az eredménypuffertípus-mutató DBTYPE_STR esetében az illesztő az UTF-8 kódolású adatokat az ügyfélkódolássá alakítja. A felhasználónak gondoskodnia kell arról, hogy az ügyfélkódolás az UTF-8 oszlopból származó adatokat képviselje, ellenkező esetben adatvesztés történhet.
Az eredménypuffertípus-mutató DBTYPE_WSTR esetében az illesztő az UTF-8 kódolású adatokat UTF-16 kódolásúvá alakítja.
Kommunikáció olyan kiszolgálókkal, amelyek nem támogatják az UTF-8-at
Az SQL Serverhez készült Microsoft OLE DB-illesztő biztosítja, hogy az adatok a kiszolgáló számára érthető módon legyennek elérhetők. Amikor adatokat szúr be az UTF-8-kompatibilis ügyfelekről, az illesztő lefordítja az UTF-8 kódolt sztringeket az adatbázis rendezési kódlapjára, mielőtt elküldené azokat a kiszolgálónak.
Megjegyzés:
Az ISequentialStream felület használata az UTF-8 kódolású adatok régi szövegoszlopba való beszúrásához csak az UTF-8-at támogató kiszolgálókra korlátozódik. További részletekért lásd a BLOB-okat és az OLE-objektumokat.
Lásd még:
OLE DB illesztőprogram a SQL Server funkciókhoz
UTF-16-támogatás az SQL Serverhez készült OLE DB-illesztőprogramban