2012-02-22 2 views
0

Кто-нибудь знает способ получить схему со знаком доллара в гиперзвуковом?

Это не удается:

CREATE SCHEMA Z1RP065$ AUTHORIZATION DBA 

как это делает Hibernate

@Table(schema = "Z1RP065$", name = "sims_prod_fam_desc") 

Это использование для работы, но так как обновления, нет радости ... Я использую последние ...

ответ

1
CREATE SCHEMA "Z1RP065$" AUTHORIZATION DBA 
CREATE TABLE "Z1RP065$".T(ID INT PRIMARY KEY) 
SELECT * FROM "Z1RP065$".T 

Примеры использования, добавленные выше.

Update:

Нового свойство базы данных может быть установлено с sql.regular_types=false чтобы знаком доллара без двойных кавычек в имени, и чтобы символ подчеркивания в качестве первого символа некотируемых имен объектов. Эквивалент SQL - это SET SQL REGULAR NAMES FALSE. Эта функция в настоящее время доступна в репозитории Subversion и будет частью версии 2.2.9.

+0

Это создает схему. Я пробовал одинарные кавычки, но двойной путь. Однако на следующем этапе выполняется SQL. Теперь он терпит неудачу: у пользователя отсутствует привилегия или объект не найден: PUBLIC.Z1RP065. Обратите внимание, что $ отсутствует. SQL не будет выполняться ... – markthegrea

+0

Я добавил примеры, чтобы показать, как использовать указанное имя схемы. – fredt

+0

Я знаю, что это выходит из-под контроля. Возможно, я должен переименовать этот пост. Я использую Hibernate, чтобы сделать все это, поэтому, когда я делаю аннотацию: @Table (schema = "Z1RP001 $", name = "prod_info_mst") Я не могу добавить двойные кавычки, так что все сгенерированные sql сбой. Hibernate пытается создать таблицы и терпит неудачу. Думаю, сообщение должно быть «Гиперзвуковая БД с« $ ». На самом деле это проблема компании, поскольку все наши схемы используют «$». – markthegrea

Смежные вопросы