Sybase ASE 15 + Hibernate: SybSQLException при использовании кавычек в запросах - PullRequest
0 голосов
/ 07 февраля 2011

Я получаю синтаксическую ошибку для сгенерированных запросов Hibernate 3.3.2, содержащих двойные кавычки:

create table tbl_version (
    id int identity not null,
    "code_name" varchar(255) null,
    version_nbr varchar(255) null,
    software_name varchar(255) null,
    primary key (id)
)

Caused by: com.sybase.jdbc4.jdbc.SybSQLException: Incorrect syntax near ','.
at com.sybase.jdbc4.tds.Tds.a(Unknown Source)

Кто-нибудь знает в чем проблема? Поскольку у меня правильный диалект, я думаю, Sybase нужно изменить конфигурацию.

Ответы [ 2 ]

2 голосов
/ 06 июня 2011

Вы также можете использовать заключенные в квадратные скобки идентификаторы, такие как

create table tbl_version (
    id int identity not null,
    [code_name] varchar(255) null,
    version_nbr varchar(255) null,
    software_name varchar(255) null,
    primary key (id)
)

, это работает с версиями Sybase от 12.5.1 (совместимо с Microsoft SQL Server)

0 голосов
/ 07 февраля 2011

Это известная проблема для драйвера JDBC4: https://issues.jboss.org/browse/JBPAPP-4661

В качестве обходного пути вы можете добавить следующее к URL JDBC: ?SQLINITSTRING=set quoted_identifier on

...