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 <ch...@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 protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to