errors following move from dotnet2 to java

29 views
Skip to first unread message

Lee Anne Pedersen

unread,
Sep 22, 2015, 2:45:11 PM9/22/15
to dbfit
I'm trying to move our DBFit enviroment from server-based v2.0.0-RC3 using dotnet2\FitServer to workstation-based Java, but I don't understand all the new errors I'm getting.

Currently I have this:

!define COMMAND_PATTERN {%m %p}
!define TEST_RUNNER {dotnet2\FitServer.exe}
!define PATH_SEPARATOR {;}
!path dotnet2\*.dll

I've set up this with v3.2.0:

!path lib\*.jar

SetUp:

!|dbfit.SqlServerTest|
!|Connect|MYSERVER|dbfit|dbfit|FITDB|

I can connect to the server, query fine, but get lots of new errors. Some seem to be case-sensitivity issues. This one in particular stumps me.

!|Insert|Customers|
|CustomerId?|CompanyName|Phone|DefaultSalesman|LocationId|AddedOn|IsPADAgreed|IsOnHold|CustomerTypeId|IdentityVerified|EDDonFile|IdentifiedInPerson|
|>>C1|Robin (CAD)|23423|test|1|2012-08-03T14:36:11.547|False|False|1|False|False|False|

On dotnet2 I got the following back:

INSERT Customers
CustomerId? CompanyName Phone DefaultSalesman LocationId AddedOn IsPADAgreed IsOnHold CustomerTypeId IdentityVerified EDDonFile IdentifiedInPerson
50853 >>C1 Robin (CAD) 23423 test 1 2012-08-03T14:36:11.547 False False 1 False False False

Now gives me:
 
java.lang.UnsupportedOperationException: Type TIMESTAMP is not supported
    at dbfit.environment.SqlServerEnvironment.getSqlType(SqlServerEnvironment.java:183)
    at dbfit.environment.SqlServerEnvironment.readIntoParams(SqlServerEnvironment.java:91)
    at dbfit.environment.SqlServerEnvironment.getAllColumns(SqlServerEnvironment.java:75)
    at dbfit.api.DbTable.(DbTable.java:24)
    at dbfit.fixture.Insert.getTargetDbObject(Insert.java:32)
    at dbfit.fixture.DbObjectExecutionFixture.doRows(DbObjectExecutionFixture.java:61)
    at fit.Fixture.doTable(Fixture.java:156)
    at fitlibrary.traverse.AlienTraverseHandler.doTable(AlienTraverseHandler.java:21)
    at fitlibrary.traverse.workflow.DoTraverseInterpreter.interpretWholeTable(DoTraverseInterpreter.java:104)
    at fitlibrary.traverse.workflow.DoTraverseInterpreter.interpretWholeTable(DoTraverseInterpreter.java:89)
    at fitlibrary.DoFixture.interpretWholeTable(DoFixture.java:73)
    at fitlibrary.suite.InFlowPageRunner.run(InFlowPageRunner.java:27)
    at fitlibrary.DoFixture.interpretTables(DoFixture.java:42)
    at dbfit.DatabaseTest.interpretTables(DatabaseTest.java:26)
    at fit.Fixture.doTables(Fixture.java:81)
    at fit.FitServer.process(FitServer.java:81)
    at fit.FitServer.run(FitServer.java:56)
    at fit.FitServer.main(FitServer.java:41)

I take the T out of the date, same error. I take off the milliseconds, same error. I take off the time, same error. I have another insert statement right above it which also inserts dates into multiple columns, and it has no errors. So I'm not even sure the date column is actually the issue. I can insert the same data into the table in SSMS.  

Using Java 8 Update 60 on Windows 7, SQL Server 2014.

Mark Matten

unread,
Sep 22, 2015, 4:07:16 PM9/22/15
to dbfit
Does the table contain a column of data type TIMESTAMP? (this isn't a date/time type of data type, of course, in SQL Server; it's a binary type).

The Java version doesn't currently support TIMESTAMP (and the other binary types). (Github issue awaiting a fix: https://github.com/dbfit/dbfit/issues/386).

We could probably create a intermediate DbFit version that could ignore these columns until we get support added.

Lee Anne Pedersen

unread,
Sep 22, 2015, 4:17:20 PM9/22/15
to dbfit
Yes, I realized after posting that the table does have a TIMESTAMP column.

I have switched from Java back to fitsharp, and am working through a whole slew of different problems now.

Where in the queue is that Github issue? I'm fine with fitsharp for the time being though I'd like to get moved to Java fairly soon.
Reply all
Reply to author
Forward
0 new messages