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.
JDBC-illesztőprogram letöltése
Ha java.sql.Time objektumot vagy java.sql.Types.TIME JDBC-típust használ egy paraméter beállításához, beállíthatja, hogy a java.sql.Time érték hogyan legyen elküldve a kiszolgálónak; SQL Server-időtípusként vagy dátum/idő típusként.
Ez a forgatókönyv az alábbi módszerek egyikének használatakor alkalmazható:
- SQLServerCallableStatement.registerOutParameter(int, int)
- SQLServerCallableStatement.registerOutParameter(int, int, int)
- SQLServerCallableStatement.setTime
- SQLServerPreparedStatement.setTime
- SQLServerCallableStatement.setObject
- SQLServerPreparedStatement.setObject
SendTimeAsDatetime
A java.sql.Time érték küldésének módját a sendTimeAsDatetime kapcsolattulajdonság használatával konfigurálhatja. További információ: Kapcsolat tulajdonságainak beállítása.
A sendTimeAsDatetime kapcsolat tulajdonság értékét programozott módon módosíthatja az SQLServerDataSource.setSendTimeAsDatetime használatával.
Az SQL Server 2008-nál korábbi (10.0.x) SQL Server-verziók nem támogatják az időadatok típusát, ezért a java.sql.Time alkalmazást használó alkalmazások általában dátum- vagy smalldatetime SQL Server-adattípusként tárolják a java.sql.Time értékeket.
Ha a datetime és a smalldatetimeSQL Server adattípust szeretné használni a java.sql.Time értékek használatakor, állítsa a sendTimeAsDatetime kapcsolat tulajdonságot igaz értékre. Ha a java.sql.Time értékek használatakor az SQL Server idő adattípusát szeretné használni, állítsa a sendTimeAsDatetime kapcsolat tulajdonságot hamis értékre.
Java.sql.Time értékek küldése olyan paraméterbe, amelynek adattípusa a dátumot is tárolhatja, az alapértelmezett dátumok attól függően eltérőek, hogy a java.sql.Time érték dátumként (1970.01.01.) vagy időként (1900.01.01.) lesz elküldve. Az SQL Serverre történő adatkonvertálásokról további információt a Dátum- és időadatok használata című témakörben talál.
Az SQL Server JDBC Driver 3.0-ban a sendTimeAsDatetime alapértelmezés szerint igaz. Egy későbbi kiadásban a sendTimeAsDatetime kapcsolat tulajdonság alapértelmezés szerint false (hamis) értékre állítható.
Annak érdekében, hogy az alkalmazás továbbra is a várt módon működjön a sendTimeAsDatetime kapcsolati tulajdonság alapértelmezett értékétől függetlenül, a következőkre van lehetőség:
- Használja a java.sql.Time parancsot az SQL Server időtípusánakhasználatakor.
- A java.sql.Timestamp használata a datetime, smalldatetime és datetime2SQL Server-adattípusok használatakor.
A SendTimeAsDatetime-nak hamisnak kell lennie a titkosított oszlopok esetében, mivel a titkosított oszlopok nem támogatják az időről datetime-ra történő konvertálást. Az SQL Server Microsoft JDBC Driver 6.0-s verziójától kezdve az SQLServerConnection osztály a következő két módszerrel állítja be/kapja meg a sendTimeAsDatetime tulajdonság értékét.
public boolean getSendTimeAsDatetime()
public void setSendTimeAsDatetime(boolean sendTimeAsDateTimeValue)