Aracılığıyla paylaş


java.sql.Time değerlerinin nasıl gönderileceğini yapılandırma

JDBC sürücüsünü indirin

Parametre ayarlamak için bir java.sql.Time nesnesi veya java.sql.Types.TIME JDBC türü kullanırsanız, java.sql.Time değerinin sunucuya nasıl gönderileceğini yapılandırabilirsiniz; sql server saat türü olarak veya tarih saat türü olarak.

Bu senaryo aşağıdaki yöntemlerden birini kullanırken geçerlidir:

ZamanıTarihSaatOlarakGönder

sendTimeAsDatetime bağlantı özelliğini kullanarak java.sql.Time değerinin nasıl gönderileceğini yapılandırabilirsiniz. Daha fazla bilgi için bkz. Bağlantı Özelliklerini Ayarlama.

SQLServerDataSource.setSendTimeAsDatetime ile sendTimeAsDatetime bağlantı özelliğinin değerini program aracılığıyla değiştirebilirsiniz.

SQL Server'ın SQL Server 2008 'den önceki sürümleri (10.0.x) saat veri türünü desteklemez, bu nedenle java.sql.Time kullanan uygulamalar genellikle java.sql.Saat değerlerini tarih saat veya smalldatetime SQL Server veri türleri olarak depolar.

java.sql.Time değerleriyle çalışırken datetime ve smalldatetimeSQL Server veri türlerini kullanmak istiyorsanız sendTimeAsDatetime bağlantı özelliğini true olarak ayarlamanız gerekir. java.sql.Time değerleriyle çalışırken zaman SQL Server veri türünü kullanmak istiyorsanız sendTimeAsDatetime bağlantı özelliğini false olarak ayarlamanız gerekir.

java.sql.Time değerlerini veri türü tarihi de depolayan bir parametreye gönderirken, varsayılan tarihler java.sql.Saat değerinin tarih saat (1/1/1970) veya saat (1/1/1900) değeri olarak gönderilmesine bağlı olarak değişir. SQL Server'a veri gönderirken veri dönüştürmeleri hakkında daha fazla bilgi için bkz. Tarih ve Saat Verilerini Kullanma.

SQL Server JDBC Sürücüsü 3.0'da sendTimeAsDatetime varsayılan olarak true değeridir. Gelecekteki bir sürümde sendTimeAsDatetime bağlantı özelliği varsayılan olarak false olarak ayarlanabilir.

Uygulamanızın sendTimeAsDatetime bağlantı özelliğinin varsayılan değerinden bağımsız olarak beklendiği gibi çalışmaya devam ettiğinden emin olmak için şunları yapabilirsiniz:

  • SQL Serververi türüyle çalışırken java.sql.Time kullanın.
  • Datetime, smalldatetime ve datetime2 SQL Server veri türleriyle çalışırken java.sql.Timestamp kullanın.

Şifrelenmiş sütunlar zaman ile tarih saat arasında dönüşümü desteklemediği için, şifrelenmiş sütunlar için SendTimeAsDatetime değeri false olmalıdır. SQL Server için Microsoft JDBC Driver 6.0 sürümünden başlayarak, SQLServerConnection sınıfı sendTimeAsDatetime özelliğinin değerini ayarlamak/almak için aşağıdaki iki yönteme sahiptir.

  public boolean getSendTimeAsDatetime()
  public void setSendTimeAsDatetime(boolean sendTimeAsDateTimeValue)

Ayrıca bakınız

JDBC sürücüsü veri türlerini anlama