Dela via


Systemkrav för .NET Framework-dataprovidern för Oracle

.NET Framework-dataprovidern för Oracle kräver Microsoft Data Access Components (MDAC) version 2.6 eller senare. MDAC 2.8 SP1 rekommenderas.

Du måste också ha Oracle 8i Release 3-klienten (8.1.7) eller senare installerad.

Oracle-klientprogramvara före version Oracle 9i kan inte komma åt UTF16-databaser eftersom UTF16 är en ny funktion i Oracle 9i. Om du vill använda den här funktionen måste du uppgradera klientprogramvaran till Oracle 9i eller senare.

Arbeta med dataprovidern för Oracle- och Unicode-data

Följande är en lista över Unicode-relaterade problem som du bör tänka på när du arbetar med .NET Framework-dataprovidern för Oracle- och Oracle-klientbibliotek. Mer information finns i Oracle-dokumentationen.

Ange Unicode-värdet i ett Anslut ionssträngattribut

När du arbetar med Oracle kan du använda attributet anslutningssträng

Unicode=True

för att initiera Oracle-klientbiblioteken i UTF-16-läge. Detta gör att Oracle-klientbiblioteken accepterar UTF-16 (som liknar UCS-2) i stället för strängar med flera byte. Detta gör att dataprovidern för Oracle alltid kan arbeta med valfri Oracle-kodsida utan ytterligare översättningsarbete. Den här konfigurationen fungerar bara om du använder Oracle 9i-klienter för att kommunicera med en Oracle 9i-databas med den alternativa teckenuppsättningen AL16UTF16. När en Oracle 9i-klient kommunicerar med en Oracle 9i-server krävs ytterligare resurser för att konvertera Unicode CommandText-värdena till rätt teckenuppsättning med flera byte som Oracle9i-servern använder. Detta kan undvikas när du vet att du har den säkra konfigurationen genom att lägga Unicode=True till i din anslutningssträng.

Blanda versioner av Oracle-klienten och Oracle Server

Oracle 8i-klienter kan inte komma åt NCHAR-, NVARCHAR2- eller NCLOB-data i Oracle 9i-databaser när serverns nationella teckenuppsättning anges som AL16UTF16 (standardinställningen för Oracle 9i). Eftersom stöd för TECKENUPPSÄTTNINGEN UTF-16 inte introducerades förrän Oracle 9i kan Oracle 8i-klienter inte läsa den.

Arbeta med UTF-8-data

Om du vill ange den alternativa teckenuppsättningen anger du registernyckeln HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEID\NLS_LANG till UTF8. Mer information finns i Oracle-installationsanteckningarna på din plattform. Standardinställningen är den primära teckenuppsättningen för det språk som du installerar Oracle-klientprogramvaran från. Om du inte ställer in språket så att det matchar den nationella språkuppsättningen för databasen som du ansluter till kommer parameter- och kolumnbindningar att skicka eller ta emot data i din primära databasteckenuppsättning, inte den nationella teckenuppsättningen.

OracleLob kan bara uppdatera fullständiga tecken.

Av användbarhetsskäl OracleLob ärver objektet från .NET Framework Stream-klassen och tillhandahåller metoderna ReadByte och WriteByte . Den implementerar också metoder, till exempel CopyTo och Erase, som fungerar i avsnitt av Oracle LOB-objekt . Oracle-klientprogramvaran tillhandahåller däremot ett antal API:er för att arbeta med tecken-LOB:er (CLOB och NCLOB). Dessa API:er fungerar dock endast med fullständiga tecken. På grund av den här skillnaden implementerar dataprovidern för Oracle stöd för läs- och läsbyte för att arbeta med UTF-16-data på ett bytemässigt sätt. De andra metoderna i OracleLob-objektet tillåter dock endast åtgärder med fullständigt tecken.

Se även