Re: The conversion from binary to TIMESTAMP is unsupported.
Re: The conversion from binary to TIMESTAMP is unsupported.
- Subject: Re: The conversion from binary to TIMESTAMP is unsupported.
- From: Chuck Hill <email@hidden>
- Date: Thu, 26 Feb 2009 07:40:47 -0800
On Feb 26, 2009, at 1:11 AM, Ronny Bubke wrote:
The database type is timestamp. if i used datetime it will work but
timestamp can't be mapped to an java type. i suppose this is a
problem of microsofts jdbc plugin and it can on be fixed by using an
other all working plugin.
See http://www.sqlteam.com/article/timestamps-vs-datetime-data-types
Ahhh. The dreaded TIMESTAMP datatype. Unfortunately you really can't
use TIMESTAMP for any type of comparison. Or really for much of
anything. To quote from SQL Server Books Online:
The SQL Server timestamp data type has nothing to do with times or
dates. SQL Server timestamps are binary numbers that indicate the
relative sequence in which data modifications took place in a
database. The timestamp data type was originally implemented to
support the SQL Server recovery algorithms.
It further states Never use timestamp columns in keys, especially
primary keys, because the timestamp value changes every time the row
is modified.
Note the "nothing to do with times or dates". You might be able to
model this as a Long or NSData.
Chuck
On Wed, Feb 25, 2009 at 8:20 PM, Chuck Hill <chill@global-
village.net> wrote:
On Feb 25, 2009, at 2:16 AM, Ronny Bubke wrote:
Hello,
maybe somebody can help me with using MS SQL SERVER 2008 and
datatype "timestamp".
I get following Exception when fetching Entity with an attribute of
type "timestamp":
Error:
The conversion from binary to TIMESTAMP is unsupported.
What type is that column in the database? I looks like it is
defined as some binary type.
at com.microsoft.sqlserver.jdbc.ServerDTVImpl.getValue(Unknown
Source) at com.microsoft.sqlserver.jdbc.DTV.getValue(Unknown Source)
at com.microsoft.sqlserver.jdbc.Column.getValue(Unknown Source) at
com.microsoft.sqlserver.jdbc.Column.getValue(Unknown Source) at
com.microsoft.sqlserver.jdbc.SQLServerResultSet.getTimestamp(Unknown
Source) at
com.microsoft.sqlserver.jdbc.SQLServerResultSet.getTimestamp(Unknown
Source) at
com
.webobjects
.jdbcadaptor.JDBCColumn._fetchCorrectObject(JDBCColumn.java:292) at
com.webobjects.jdbcadaptor.JDBCColumn._fetchValue(JDBCColumn.java:
384) at
com.webobjects.jdbcadaptor.JDBCColumn.fetchValue(JDBCColumn.java:
372) at
com.webobjects.jdbcadaptor.JDBCChannel.fetchRow(JDBCChannel.java:
1462) at
com
.webobjects
.eoaccess.EODatabaseChannel._fetchObject(EODatabaseChannel.java:321)
at
com
.webobjects
.eoaccess
.EODatabaseContext
._objectsWithFetchSpecificationEditingContext(EODatabaseContext.java:
3071) at
com
.webobjects
.eoaccess
.EODatabaseContext
.objectsWithFetchSpecification(EODatabaseContext.java:3204) at
com
.webobjects
.eocontrol
.EOObjectStoreCoordinator
.objectsWithFetchSpecification(EOObjectStoreCoordinator.java:483) at
com
.webobjects
.eocontrol
.EOEditingContext
.objectsWithFetchSpecification(EOEditingContext.java:4053) at
er.extensions.eof.ERXEC.objectsWithFetchSpecification(ERXEC.java:
1114) at
com
.webobjects
.eocontrol
.EOEditingContext
.objectsWithFetchSpecification(EOEditingContext.java:4428) at
de
.rheinmainclick
.rmc.eo._Dictionary.fetchDictionaries(_Dictionary.java:585) at
de
.rheinmainclick.rmc.eo._Dictionary.fetchDictionary(_Dictionary.java:
594) at
de
.rheinmainclick.rmc.eo._Dictionary.fetchDictionary(_Dictionary.java:
590) at
de.rheinmainclick.rmc.eo.Lookup.getMasterImageLookup(Lookup.java:34)
at de.rheinmainclick.DirectAction.editActorAction(DirectAction.java:
32) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun
.reflect
.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun
.reflect
.DelegatingMethodAccessorImpl
.invoke(DelegatingMethodAccessorImpl.java:25) at
java.lang.reflect.Method.invoke(Method.java:597) at
com
.webobjects
.appserver.WODirectAction.performActionNamed(WODirectAction.java:
144) at
er
.extensions
.appserver.ERXDirectAction.performActionNamed(ERXDirectAction.java:
335) at
com
.webobjects
.appserver
._private
.WOActionRequestHandler._handleRequest(WOActionRequestHandler.java:
259) at
com
.webobjects
.appserver
._private
.WOActionRequestHandler.handleRequest(WOActionRequestHandler.java:
161) at
er
.extensions
.appserver
.ERXDirectActionRequestHandler
.handleRequest(ERXDirectActionRequestHandler.java:123) at
com
.webobjects
.appserver.WOApplication.dispatchRequest(WOApplication.java:1678) at
er
.extensions
.appserver
.ERXApplication.dispatchRequestImmediately(ERXApplication.java:1737)
at
er
.extensions
.appserver.ERXApplication.dispatchRequest(ERXApplication.java:1702)
at de.rheinmainclick.Application.dispatchRequest(Application.java:
28) at
com
.webobjects
.appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java:144)
at
com
.webobjects
.appserver._private.WOWorkerThread.run(WOWorkerThread.java:226) at
java.lang.Thread.run(Thread.java:637)
Reason:
The conversion from binary to TIMESTAMP is unsupported.
I tried all NSCalenderDate value types but nothing changes. Maybe
the jdbc plugin is not usable for sql server 2008.
Hopefully somebody can help me.
I have only used SQL Server 2005. For that I use this prototype as
the timestamp definition:
Chuck
-- Chuck Hill Senior Consultant / VP Development
Practical WebObjects - for developers who want to increase their
overall knowledge of WebObjects or who are trying to solve specific
problems.
http://www.global-village.net/products/practical_webobjects
--
Ronny Bubke
Winterhuder Marktplatz 17
22299 Hamburg
Tel - +49 40 / 23549023
Mobil - +49 176 / 21198774
--
Chuck Hill Senior Consultant / VP Development
Practical WebObjects - for developers who want to increase their
overall knowledge of WebObjects or who are trying to solve specific
problems.
http://www.global-village.net/products/practical_webobjects
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden