Hi Daniel,
i understand we have
to save a blob but I'm not sure that we need to define in the Annotation which
DB type is going to be used for it. from the API Doc its not 100% clear but from
this
columnDefinition
public
abstract String columnDefinition
(Optional) The
SQL fragment that is used when generating the DDL for the column.
Defaults
to the generated SQL to create a column of the inferred type.
Default:
""
I deduct that the
string that u pass with columnDefinition is the one actually used to generate
the Table. if you leave it free then the DB Type Mapper (e.g. org.eclipse.persistence.platform.database.DerbyPlatform,
SqlServerPlaform) will chose a Type matching the variable's Type. For MSSQL
this works fine and it chooses Image as the column type and apparently it also
works for Derby when nothing is spec'ed.
So, was there a
deeper reason for u spec BLOB (such as the default SQL type chosen with derby for
byte[] doesn’t meet the needs) or where u just not aware of this?
Kind regards
Thomas Menzel @ brox IT-Solutions GmbH
From: smila-dev-bounces@xxxxxxxxxxx
[mailto:smila-dev-bounces@xxxxxxxxxxx] On Behalf Of Daniel.Stucky@xxxxxxxxxxx
Sent: Montag, 10. August 2009 13:54
To: smila-dev@xxxxxxxxxxx
Subject: AW: [smila-dev] JPA und SQL Server
Hi Tom,
it is required for
the method Iterator<Id>
obsoleteIdIterator(…). This
method returns Id objects, that have to be created from the content of the
database. The Id object cannot be generated from the ID-Hash, so we have to
store the Id object itself somehow in the database. I decided to use a
serialized Id and store it in a BLOB, as it should be the fastest way. Another
option would be to store the XML representation in a VARCHAR, but this also
implies some code changes, as the String has to be parsed into an Id object.
Is it possible to use
a different data type to store the serialized Id ? Perhaps something like BYTE
instead of BLOB ?
As far as I
understand eclipseLink it should be possible to override the code annotations
(defaults) by using a xml configuration file. In this way it should be possible
to change the data type of attribute ID in table DELTA_INDEXING .
I did not make use of
this feature, so it is just a guess. Some code adjustment may also be needed to
enable the xml configuration.
Bye,
Daniel
Von: smila-dev-bounces@xxxxxxxxxxx
[mailto:smila-dev-bounces@xxxxxxxxxxx] Im Auftrag von Thomas Menzel
Gesendet: Montag, 10. August 2009 13:36
An: Smila project developer mailing list
Betreff: RE: [smila-dev] JPA und SQL Server
Hi Daniel and
Juergen,
what was the reason
to use the database dependent columnDefinition = "BLOB"?
e.g.
@Column(name =
"BIN_OBJECT", columnDefinition = "BLOB")
unfortunately this
doesn’t work for MSSQL so I had to remove it. Fortunately it works w/o it
for derby too, but I wonder about the reason….
PS: goody:
a google for
"eclipselink jpa derby blob" will result in http://wiki.eclipse.org/SMILA/Documentation/Binary_Storage#eclipse.smila.binarystorage.persistence.jpa
as the first hit! ;)
Kind regards
Thomas Menzel @ brox IT-Solutions GmbH
From: smila-dev-bounces@xxxxxxxxxxx
[mailto:smila-dev-bounces@xxxxxxxxxxx] On Behalf Of Thomas Menzel
Sent: Donnerstag, 6. August 2009 15:02
To: Smila project developer mailing list
Subject: RE: [smila-dev] JPA und SQL Server
AARRRGGG
i had mixed up the
PWD and user name!!!
This resulted to the
misleading exception. No I get:
[EL Warning]:
2009.08.06 15:00:21.085--ServerSession(29833103)--Exception
[EclipseLink-4002] (Eclipse Persistence Services - 1.0.2 (Build 20081024)): org.eclipse.persistence.exceptions.DatabaseException
Internal
Exception: com.microsoft.sqlserver.jdbc.SQLServerException:
Column, parameter, or variable #8: Cannot find data type BLOB.
Error Code: 2715
Call: CREATE
TABLE DELTA_INDEXING (ID_HASH VARCHAR(1024) NOT NULL, HASH VARCHAR(1024) NULL,
SOURCE_ID VARCHAR(255) NULL, IS_COMPOUND BIT default 0 NULL, PARENT_ID_HASH
VARCHAR(1024) NULL, VISITED BIT default 0 NULL, MODIFIED BIT default 0 NULL, ID
BLOB, PRIMARY KEY (ID_HASH))
is blob not supported
for MSSQL?
..researching….
Mit freundlichen Grüßen / Kind regards
Thomas Menzel
brox IT-Solutions
GmbH
An der Breiten Wiese 9
30625 HANNOVER (Germany)
Mobil: +49 (173) 369 86 76
Tel: +49 (5 11) 33 65 28 – 76
eFax: +49 (5 11) 33 65 28 – 98 76
Fax: +49 (5 11) 33 65 28 – 29
Mail: tmenzel@xxxxxxx
Web: www.brox.de
==================================
According to Section 80 of the German Corporation Act brox IT-Solutions GmbH
must indicate the following information.
Address: An der Breiten Wiese 9, 30625 Hannover Germany
General Manager: Hans-Chr. Brockmann
Registered Office: Hannover, Commercial Register Hannover HRB 59240
========== Legal Disclaimer ==========
From: smila-dev-bounces@xxxxxxxxxxx
[mailto:smila-dev-bounces@xxxxxxxxxxx] On Behalf Of Daniel.Stucky@xxxxxxxxxxx
Sent: Donnerstag, 6. August 2009 14:53
To: smila-dev@xxxxxxxxxxx
Subject: AW: [smila-dev] JPA und SQL Server
With java 1.6 a lot
more warnings are written to console than with 1.5
For the Derby
integration there are warnings, too, but no error messages!
With MSSQL you get an
error message, so do not concern about warnings.
Still no clue about
what could go wrong.
Bye,
Daniel
Von:
smila-dev-bounces@xxxxxxxxxxx [mailto:smila-dev-bounces@xxxxxxxxxxx] Im
Auftrag von Thomas Menzel
Gesendet: Donnerstag, 6. August 2009 14:47
An: Smila project developer mailing list
Betreff: RE: [smila-dev] JPA und SQL Server
hi,
i just retried
the Derby case and noticed that here it also complains about no suitable
driver, but later it works.
could it be that
there are some workarounds for derby and oracle in place that mssql doenst have
? (and I also tried jtds to no avail)
Mit freundlichen Grüßen / Kind regards
Thomas Menzel
brox IT-Solutions GmbH
An der
Breiten Wiese 9
30625 HANNOVER (Germany)
Mobil: +49 (173) 369 86 76
Tel: +49 (5 11) 33 65 28 – 76
eFax: +49 (5 11) 33 65 28 – 98 76
Fax: +49 (5 11) 33 65 28 – 29
Mail: tmenzel@xxxxxxx
Web: www.brox.de
==================================
According to Section 80 of the German Corporation Act brox IT-Solutions GmbH
must indicate the following information.
Address: An der Breiten Wiese 9, 30625 Hannover Germany
General Manager: Hans-Chr. Brockmann
Registered Office: Hannover, Commercial Register Hannover HRB 59240
========== Legal Disclaimer ==========
From: smila-dev-bounces@xxxxxxxxxxx
[mailto:smila-dev-bounces@xxxxxxxxxxx] On Behalf Of Daniel.Stucky@xxxxxxxxxxx
Sent: Donnerstag, 6. August 2009 09:38
To: smila-dev@xxxxxxxxxxx
Subject: AW: [smila-dev] JPA und SQL Server
Hi Tom,
I cannot see any
issue with your implementation. I once successfully integrated Oracle instead
of Derby.
The main issue is
that you need to import the jdbc driver classes in the deltaindexing.jpa
bundle, which you apparently did.
I have no idea if
SQLServer needs any special handling. Perhaps you should try to connect with
JPA to SQL Server without using OSGi first, to check if there is a general
problem ?
Bye,
Daniel
Von:
smila-dev-bounces@xxxxxxxxxxx [mailto:smila-dev-bounces@xxxxxxxxxxx] Im
Auftrag von Thomas Menzel
Gesendet: Donnerstag, 6. August 2009 02:47
An: Schumacher, Jürgen, M-ED
Cc: Smila project developer mailing list
Betreff: [smila-dev] JPA und SQL Server
hi jürgen,
ich versuche mich gerade darin einen MSSQL als
implementierung für das deltaindexing zu konfigurieren. dazu habe ich
1. ein bundle für den MSSQL Driver erstellt
2. eine dependency vom jpa.impl bundle zu dem MSSQL driver
bundle ersellt
3. diese JPA config
eclipselink.logging.level=INFO
eclipselink.target-server=None
eclipselink.target-database=org.eclipse.persistence.platform.database.SQLServerPlatform
eclipselink.jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
eclipselink.jdbc.url="">jdbc:sqlserver://lh:1433;DatabaseName=smila
eclipselink.ddl-generation=drop-and-create-tables
eclipselink.jdbc.password=sa
eclipselink.jdbc.user=xxx
trotzdem sagt er mir:
[EL Warning]: 2009.08.06
02:34:54.770--ServerSession(14791603)--java.sql.SQLException: No
suitable driver found for jdbc:sqlserver://localhost:1433
[ERROR]
DeltaIndexingManagerImpl - error activating class
org.eclipse.smila.connectivity.deltaindexing.jpa.impl.DeltaIndexingManagerImpl
<Exception [EclipseLink-4002] (Eclipse Persistence Services - 1.0.2 (Build
20081024)): org.eclipse.persistence.exceptions.DatabaseException
Internal
Exception: java.sql.SQLException: No suitable driver found for
jdbc:sqlserver://localhost:1433
welchen trick muss ich anwenden, dass das hinhaut?
da ich java 1.6 nutze, muss ich ja eigentlich nicht mehr
selber das Class.forName machen und selbst wenn ich's aufrufe, ändert es nix.
der Class Name ist korrekt, wenn ich den änder meckert er
das er logischer weise die klasse nicht finden kann, daher dürfte Class
Path/bundle dependency technisch alles im grünen sein.
hast du eine idee?
Mit freundlichen Grüßen / Kind regards
Thomas Menzel
brox IT-Solutions
GmbH
An der Breiten Wiese 9
30625 HANNOVER (Germany)
Mobil: +49 (173) 369 86 76
Tel: +49 (5 11) 33 65 28 – 76
eFax: +49 (5 11) 33 65 28 – 98 76
Fax: +49 (5 11) 33 65 28 – 29
Mail: tmenzel@xxxxxxx
Web: www.brox.de
==================================
According to Section 80 of the German Corporation Act brox IT-Solutions GmbH
must indicate the following information.
Address: An der Breiten Wiese 9, 30625 Hannover Germany
General Manager: Hans-Chr. Brockmann
Registered Office: Hannover, Commercial Register Hannover HRB 59240
========== Legal Disclaimer ==========