Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Istnieje wiele różnic między typami danych języka programowania Java i typami danych programu SQL Server. Sterownik JDBC firmy Microsoft dla serwera SQL Server pomaga w ułatwianiu różnic poprzez różne typy konwersji.
Typy znaków
Typy danych ciągu znaków JDBC to CHAR, VARCHAR i LONGVARCHAR. Sterownik JDBC zapewnia obsługę interfejsu API JDBC 4.0. W formacie JDBC 4.0 typy danych ciągów znaków JDBC mogą być również typami NCHAR, NVARCHAR i LONGNVARCHAR. Te nowe typy ciągów znaków utrzymują natywne typy znaków Języka Java w formacie Unicode i usuwają konieczność wykonania dowolnej konwersji ANSI-to-Unicode lub Unicode-to-ANSI.
| Typ | Description |
|---|---|
| Stała długość | Typy danych char i nchar programu SQL Server są mapowane bezpośrednio na typy JDBC CHAR i NCHAR . Są to typy o stałej długości z wypełnieniem dostarczonym przez serwer w przypadku, gdy kolumna ma wartość SET ANSI_PADDING ON. Wypełnienie jest zawsze włączone dla nchar, ale dla char, jeśli kolumny char na serwerze nie są dopełnione, sterownik JDBC dodaje dopełnienie. |
| Zmienna długość | Typy varchar i nvarchar programu SQL Server są mapowane bezpośrednio na typy JDBC VARCHAR i NVARCHAR . |
| Długi | Typy tekstowe i ntext programu SQL Server są mapowane odpowiednio na typ JDBC LONGVARCHAR i LONGNVARCHAR . Są to przestarzałe typy rozpoczynające się w programie SQL Server 2005 (9.x), dlatego należy użyć dużych typów wartości, varchar(max) lub nvarchar(max), zamiast tego. Użycie metod |
Typy ciągów binarnych
Typy ciągów binarnych JDBC to BINARY, VARBINARY i LONGVARBINARY.
| Typ | Description |
|---|---|
| Stała długość | Typ binarny programu SQL Server jest mapowany bezpośrednio na typ binarny JDBC. Jest to typ o stałej długości z dopełnianiem zapewnianym przez serwer w przypadku, gdy dla kolumny ustawiono opcję SET ANSI_PADDING ON. Gdy kolumny znaków serwera nie są dopełnione, sterownik JDBC dodaje dopełnienie. Typ sygnatury czasowej programu SQL Server jest typem binarnym JDBC o stałej długości 8 bajtów. |
| Zmienna długość | Typ varbinary programu SQL Server jest mapowany na typ VARBINARY JDBC. Typ udt w programie SQL Server jest mapowany na JDBC jako typ VARBINARY . |
| Długi | Typ image w programie SQL Server jest mapowany na typ JDBC LONGVARBINARY. Ten typ jest przestarzały począwszy od programu SQL Server 2005 (9.x), dlatego należy zamiast tego użyć dużego typu wartości varbinary(max). |
Dokładne typy liczbowe
Dokładne typy liczbowe JDBC są mapowane bezpośrednio na odpowiadające im typy programu SQL Server.
| Typ | Description |
|---|---|
| BIT | Typ bitu JDBC reprezentuje jeden bit, który może mieć wartość 0 lub 1. To mapuje na typ bit SQL Server. |
| TINYINT | Typ JDBC TINYINT reprezentuje pojedynczy bajt. To mapuje na typ tinyint serwera SQL Server. |
| SMALLINT | Typ JDBC SMALLINT reprezentuje podpisaną 16-bitową liczbę całkowitą. To mapuje na typ smallint SQL Server. |
| INTEGER | Typ INTEGER JDBC reprezentuje podpisaną 32-bitową liczbę całkowitą. Odwołuje się do typu int w SQL Server. |
| BIGINT | Typ JDBC BIGINT reprezentuje podpisaną 64-bitową liczbę całkowitą. To mapuje się na typ bigint w programie SQL Server. |
| NUMERIC | Typ NUMERYCZNY JDBC reprezentuje wartość dziesiętną o stałej precyzji, która przechowuje wartości identycznej precyzji. Typ NUMERYCZNY odpowiada typowi numeric programu SQL Server. |
| DZIESIĘTNA | Typ dziesiętny JDBC reprezentuje wartość dziesiętną o stałej precyzji, która przechowuje wartości co najmniej określonej dokładności. Typ decimal jest mapowany na typ decimal w SQL Server. Typ DECIMAL JDBC jest również mapowany na typy money i smallmoney w SQL Server, które są specyficznymi typami dziesiętnymi o stałej dokładności, które są przechowywane odpowiednio w 8 i 4 bajtach. |
Przybliżone typy liczbowe
Przybliżone typy liczbowe JDBC to REAL, DOUBLE i FLOAT.
| Typ | Description |
|---|---|
| PRAWDZIWY | Typ REAL JDBC ma siedem cyfr precyzji (pojedyncza precyzja) i mapuje bezpośrednio do typu real w programie SQL Server. |
| Podwójny | Typ JDBC DOUBLE ma 15 cyfr dokładności (podwójna precyzja) i mapuje na typ float SQL Server. Typ FLOAT JDBC jest synonimem DOUBLE. Ponieważ może występować zamieszanie między FLOAT i DOUBLE, preferowane jest DOUBLE. |
Typy daty/godziny
Typ JDBC TIMESTAMP jest mapowany na typy SQL Server datetime i smalldatetime. Typ daty/godziny jest przechowywany w dwóch liczbach całkowitych 4-bajtowych. Typ smalldatetime zawiera te same informacje (data i godzina), ale z mniejszą dokładnością, w dwóch 2-bajtowych małych liczbach całkowitych.
Uwaga / Notatka
Typ znacznika czasu programu SQL Server jest typem ciągu binarnego o stałej długości. Nie jest mapowany na żaden z typów czasu JDBC: DATE, TIME lub TIMESTAMP.
Mapowanie typów niestandardowych
Funkcja mapowania typów niestandardowych JDBC, która wykorzystuje interfejsy SQLData do zaawansowanych typów JDBC (UDT, Strukt, itd.). nie jest zaimplementowany w sterowniku JDBC.