Megosztás a következőn keresztül:


A java.sql.Time-értékek küldésének konfigurálása

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ó:

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)

Lásd még

A JDBC-illesztőprogram adattípusainak ismertetése