BUG: MSSQL 2008 & ORM

59 views
Skip to first unread message

John Whish

unread,
Feb 9, 2012, 6:01:17 AM2/9/12
to Railo
Hi,

I'm running Railo 3.3.1.006 (on Jetty) with MSSQL 2008 Express (64
bit) and am getting this error:

com.microsoft.sqlserver.jdbc.SQLServerException: Error converting data
type nvarchar to decimal.

I don't get this on ACF9.0.1 against the same database.

Looking into this a bit further, it seems that maybe under the hood
Railo is using double for "1.11", but MS SQL Server expects a
BigDecimal.

You can replicate it by creating a simple table:

/****** Object: Table [dbo].[foo] Script Date: 02/09/2012 10:50:37
******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[foo](
[foo_id] [int] IDENTITY(1,1) NOT NULL,
[foo_bar] [decimal](18, 2) NOT NULL
) ON [PRIMARY]

GO

Create a corresponding entity:

component persistent="true"
{
property name="id" fieldtype="id" column="foo_id"
generator="native";
property name="bar" column="foo_bar";

function init()
{
variables.bar = 1.11;
}
}

Run the following code:

ORMReload();
foo = EntityNew("Foo");

EntitySave(Foo);

WriteDump(foo);
abort;

This will produce the stacktrace:

Error converting data type nvarchar to decimal.
at
com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown
Source):-1
at
com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(Unknown
Source):-1
at
com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(Unknown
Source):-1
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement
$PrepStmtExecCmd.doExecute(Unknown Source):-1
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(Unknown
Source):-1
at
com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(Unknown
Source):-1
at
com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(Unknown
Source):-1
at
com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(Unknown
Source):-1
at
com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeUpdate(Unknown
Source):-1
at org.hibernate.id.IdentityGenerator
$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:94):
94
at
org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:
57):57
at
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:
2329):2329
at
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:
2836):2836
at
org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:
71):71
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:267):
267
at
org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:
321):321
at
org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:
204):204
at
org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:
130):130
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:
210):210
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:
195):195
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:
117):117
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:
93):93
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:
677):677
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:
669):669
at
railo.runtime.orm.hibernate.HibernateORMSession.save(HibernateORMSession.java:
165):165
at railo.runtime.functions.orm.EntitySave.call(EntitySave.java:16):
16
at railo.runtime.functions.orm.EntitySave.call(EntitySave.java:11):
11
at hippychick2011.application_cfc$cf.udfCall(C:\webserver\htdocs
\hippychick2011\Application.cfc:105):105
at railo.runtime.type.UDFImpl.implementation(UDFImpl.java:215):215
at railo.runtime.type.UDFImpl._call(UDFImpl.java:434):434
at railo.runtime.type.UDFImpl.call(UDFImpl.java:384):384
at railo.runtime.ComponentImpl._call(ComponentImpl.java:608):608
at railo.runtime.ComponentImpl._call(ComponentImpl.java:495):495
at railo.runtime.ComponentImpl.call(ComponentImpl.java:1793):1793
at
railo.runtime.listener.ModernAppListener.call(ModernAppListener.java:
348):348
at
railo.runtime.listener.ModernAppListener._onRequest(ModernAppListener.java:
106):106
at
railo.runtime.listener.MixedAppListener.onRequest(MixedAppListener.java:
23):23
at railo.runtime.PageContextImpl.execute(PageContextImpl.java:2000):
2000
at railo.runtime.PageContextImpl.execute(PageContextImpl.java:1967):
1967
at
railo.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:
297):297
at railo.loader.servlet.CFMLServlet.service(CFMLServlet.java:32):
32
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820):
820
at
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:534):
534
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
475):475
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:
119):119
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:
516):516
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:
226):226
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:
929):929
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
403):403
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:
184):184
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:
864):864
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:
117):117
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:
247):247
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:
151):151
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:
114):114
at org.eclipse.jetty.server.Server.handle(Server.java:352):352
at
org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:
596):596
at org.eclipse.jetty.server.HttpConnection
$RequestHandler.headerComplete(HttpConnection.java:1051):1051
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:590):
590
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:
212):212
at
org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:
426):426
at
org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:
508):508
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.access
$000(SelectChannelEndPoint.java:34):34
at org.eclipse.jetty.io.nio.SelectChannelEndPoint
$1.run(SelectChannelEndPoint.java:40):40
at org.eclipse.jetty.util.thread.QueuedThreadPool
$2.run(QueuedThreadPool.java:451):451
at java.lang.Thread.run(Unknown Source):-1




John Whish

unread,
Feb 9, 2012, 6:09:46 AM2/9/12
to Railo
Although I didn't find this error in the bugtracker, it appears you
guys have already fixed it in 3.3.2.000 - impressive!

Any ideas (roughly) when 3.3.2.000 will be production ready?

Thanks!
Reply all
Reply to author
Forward
0 new messages