I tried it now and with java.sql.Date it only saves the Date, with java.sql.Timestamp it also saves the Time. This on Oracle.
Roland Ribi > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > Sent: Wednesday, March 17, 2004 11:00 AM > To: [EMAIL PROTECTED] > Subject: RE: mssql: sqlexception > > > > Well, that makes sense. I used Torque to generate my DAOs > and since it > worked with MySQL I made the assumption the mapping should be ok. > > Thank you, I will try this. > > Pedro Salgado > > > I'm using MSSQL successfully with java.sql.Timestamp in my classes. > > > > Using java.sql.Date worked with MSSQL for me but only the > date was saved > > not the time as well - the time was always set to midday. > > > > > > > > -----Original Message----- > > From: Ribi Roland [mailto:[EMAIL PROTECTED] > > Sent: 17 March 2004 06:43 > > To: 'OJB Users List' > > Subject: RE: mssql: sqlexception > > > > Hi > > > > I had also a problem with java.util.Date on a Oracle DB. I > had to change > > the > > types in my classes to java.sql.Date and it works fine now. > > > > An other way could be a conversion-class for java.util.Date (like > > Integer2IntegerFieldConversion) which creates a java.sql.Date from > > java.util.Date. > > > > Let me now if it solves your problem. > > > > Roland Ribi > > > > > >> -----Original Message----- > >> From: Pedro Salgado [mailto:[EMAIL PROTECTED] > >> Sent: Thursday, January 01, 1970 2:47 AM > >> To: OJB Users List > >> Subject: mssql: sqlexception > >> > >> > >> > >> For several reasons, I have been using a OJB/MySQL > >> development platform > >> and everything was going ok. The problem was when I chose to > >> test the same > >> application with a OJB/MSSQL platform. > >> > >> > >> Apart of some minor changes, I made it all work except for > >> a class (the > >> source and OJB description is below) that has a > >> TIMESTAMP/DATETIME mapping > >> and that also could be NULL (also tried with NOT NULL <=> > >> nullable="false" > >> and didn't work either). > >> I tried Google and it seems a MSSQL JDBC driver bug (don't > >> know if it > >> could be a bug in OJB) but I wonder if anyone has came across > >> with this > >> problem and solved this or found a way around (please don't > >> tell me I have > >> to store the day-month-year on 3 database fields for each > >> date :( or change > >> it to a char/varchar field). > >> > >> Below is the error (log file) the DAO, OJB descriptor and > >> SQL for the > >> class in question. > >> > >> > >> All help/ideas are welcome, > >> > >> > >> Pedro Salgado > >> > >> > >> > >> --- LOG FILE > >> > >> 12:46:34,503 - DEBUG > >> org.apache.ojb.broker.accesslayer.StatementManager - > >> closeResources was called > >> > >> > >> 12:46:34,503 - DEBUG > >> org.apache.ojb.broker.accesslayer.JdbcAccessImpl - > >> executeInsert : [EMAIL PROTECTED] > >> > >> > >> 12:46:34,503 - DEBUG > >> org.apache.ojb.broker.accesslayer.sql.SqlGeneratorDefaultImpl > >> - SQL:INSERT > >> INTO REVISIONS > >> (id,document,title,edition,date_implementation,date_issued,dat > >> e_approval,dat > >> e_approval_qa,date_authorization,date_cancelled,date_deadline, > >> originator,app > >> > rover,approver_qa,authorizer,canceller,obs,state,sys_extension) VALUES > >> (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) > >> > >> > >> 12:46:34,519 - ERROR > >> org.apache.ojb.broker.accesslayer.JdbcAccessImpl - > >> SQLException during the execution of the insert (for a > >> pkg.pkg.dao.Revision): [Microsoft][SQLServer 2000 Driver for > >> JDBC]Unable to > >> determine the type of the specified object. > >> > >> > >> java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for > >> JDBC]Unable to > >> determine the type of the specified object. > >> at > com.microsoft.jdbc.base.BaseExceptions.createException(Unknown > >> Source) > >> at > >> com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source) > >> at > com.microsoft.jdbc.base.BasePreparedStatement.setObject(Unknown > >> Source) > >> at > >> org.apache.ojb.broker.platforms.PlatformDefaultImpl.setObjectF > >> orStatement(Un > >> known Source) > >> at > >> > org.apache.ojb.broker.accesslayer.StatementManager.bindInsert(Unknown > >> Source) > >> at > >> > org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(Unknown > >> Source) > >> at > >> org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown > >> Source) > >> > >> > >> --- Java class > >> (Date => java.util.Date) > >> > >> private int id = 0; > >> private int document = 0; > >> private String Title = null; > >> private String Edition = null; > >> private Date dateImplementation = null; > >> private Date dateIssued = null; > >> private Date dateApproval = null; > >> private Date dateApprovalQA = null; > >> private Date dateAuthorization = null; > >> private Date dateCancelled = null; > >> private Date dateDeadline = null; > >> private int originator = 0; > >> private int approver = 0; > >> private int approverQA = 0; > >> private int authorizer = 0; > >> private int canceller = 0; > >> private String comment = null; > >> private int State = 0; > >> private String fileExtension = null; > >> > >> > >> > >> --- MSSQL SQL > >> > >> > >> IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND > >> name='REVISIONS_FK_1') > >> ALTER TABLE REVISIONS DROP CONSTRAINT REVISIONS_FK_1; > >> IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name > >> = 'REVISIONS') > >> BEGIN > >> DECLARE @reftable_7 nvarchar(60), @constraintname_7 > nvarchar(60) > >> DECLARE refcursor CURSOR FOR > >> select reftables.name tablename, cons.name constraintname > >> from sysobjects tables, > >> sysobjects reftables, > >> sysobjects cons, > >> sysreferences ref > >> where tables.id = ref.rkeyid > >> and cons.id = ref.constid > >> and reftables.id = ref.fkeyid > >> and tables.name = 'REVISIONS' > >> OPEN refcursor > >> FETCH NEXT from refcursor into @reftable_7, @constraintname_7 > >> while @@FETCH_STATUS = 0 > >> BEGIN > >> exec ('alter table '[EMAIL PROTECTED]' drop constraint > >> '[EMAIL PROTECTED]) > >> FETCH NEXT from refcursor into @reftable_7, > @constraintname_7 > >> END > >> CLOSE refcursor > >> DEALLOCATE refcursor > >> DROP TABLE REVISIONS > >> END > >> > >> > >> CREATE TABLE REVISIONS > >> ( > >> id INT NOT NULL, > >> document INT NOT NULL, > >> title VARCHAR (200) NOT NULL, > >> edition CHAR (9) NULL, > >> date_implementation DATETIME NULL, > >> date_issued DATETIME NULL, > >> date_approval DATETIME NULL, > >> date_approval_qa DATETIME NULL, > >> date_authorization DATETIME NULL, > >> date_cancelled DATETIME NULL, > >> date_deadline DATETIME NULL, > >> originator INT NULL, > >> approver INT NULL, > >> approver_qa INT NULL, > >> authorizer INT NULL, > >> canceller INT NULL, > >> obs VARCHAR (200) NULL, > >> state INT NOT NULL, > >> sys_extension CHAR (4) NULL, > >> > >> CONSTRAINT REVISIONS_PK PRIMARY KEY(id) > >> > >> ); > >> > >> > >> > >> > >> > >> > >> --- OJB class descriptor > >> > >> > >> <class-descriptor > >> class="pkg.pkg.dao.Revision" > >> table="REVISIONS" > >> > > >> > >> <field-descriptor > >> id="1" > >> name="id" > >> column="id" > >> jdbc-type="INTEGER" > >> nullable="false" > >> primarykey="true" > >> autoincrement="true" /> > >> > >> > >> <field-descriptor > >> id="2" > >> name="document" > >> column="document" > >> jdbc-type="INTEGER" > >> nullable="false" /> > >> > >> > >> <field-descriptor > >> id="3" > >> name="Title" > >> column="title" > >> jdbc-type="VARCHAR" > >> nullable="false" /> > >> > >> > >> <field-descriptor > >> id="4" > >> name="Edition" > >> column="edition" > >> jdbc-type="CHAR" /> > >> > >> > >> <field-descriptor > >> id="5" > >> name="dateImplementation" > >> column="date_implementation" > >> jdbc-type="TIMESTAMP" /> > >> > >> > >> <field-descriptor > >> id="6" > >> name="dateIssued" > >> column="date_issued" > >> jdbc-type="TIMESTAMP" /> > >> > >> > >> <field-descriptor > >> id="7" > >> name="dateApproval" > >> column="date_approval" > >> jdbc-type="TIMESTAMP" /> > >> > >> > >> <field-descriptor > >> id="8" > >> name="dateApprovalQA" > >> column="date_approval_qa" > >> jdbc-type="TIMESTAMP" /> > >> > >> > >> <field-descriptor > >> id="9" > >> name="dateAuthorization" > >> column="date_authorization" > >> jdbc-type="TIMESTAMP"/> > >> > >> > >> <field-descriptor > >> id="10" > >> name="dateCancelled" > >> column="date_cancelled" > >> jdbc-type="TIMESTAMP" /> > >> > >> > >> <field-descriptor > >> id="11" > >> name="dateDeadline" > >> column="date_deadline" > >> jdbc-type="TIMESTAMP" /> > >> > >> > >> <field-descriptor > >> id="12" > >> name="originator" > >> column="originator" > >> jdbc-type="INTEGER" /> > >> > >> > >> > >> <field-descriptor > >> id="13" > >> name="approver" > >> column="approver" > >> jdbc-type="INTEGER "/> > >> > >> > >> <field-descriptor > >> id="14" > >> name="approverQA" > >> column="approver_qa" > >> jdbc-type="INTEGER" /> > >> > >> > >> <field-descriptor > >> id="15" > >> name="authorizer" > >> column="authorizer" > >> jdbc-type="INTEGER" /> > >> > >> > >> > >> <field-descriptor > >> id="16" > >> name="canceller" > >> column="canceller" > >> jdbc-type="INTEGER" /> > >> > >> > >> <field-descriptor > >> id="17" > >> name="comment" > >> column="obs" > >> jdbc-type="VARCHAR" /> > >> > >> > >> <field-descriptor > >> id="18" > >> name="State" > >> column="state" > >> jdbc-type="INTEGER" > >> nullable="false" /> > >> > >> > >> <field-descriptor > >> id="19" > >> name="fileExtension" > >> column="sys_extension" > >> jdbc-type="CHAR" /> > >> > >> </class-descriptor> > >> > >> > >> > >> > --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > > > > > -------------------------------------------------------------- > ------- To > > unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > -------------------------------------------------------------- > ------- To > > unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
