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.