Pavel181818 0 / 0 / 0 Регистрация: 15.07.2009 Сообщений: 6 |
||||
1 |
||||
21.07.2009, 11:26. Показов 13865. Ответов 3 Метки нет (Все метки)
Мне нужно создать таблицу в InterBase. Пишу следующий запрос:
Выдаёт ошибку:
__________________
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
21.07.2009, 11:26 |
3 |
АНК 125 / 116 / 17 Регистрация: 27.02.2007 Сообщений: 291 |
||||
02.09.2009, 10:20 |
2 |
|||
Я посмотрел в IBExpert’е, что за ошибка возникла. Получил вот это: Invalid token. тут по-моему все ясно. Корилические символы в заголовках применять нельзя
0 |
0 / 0 / 0 Регистрация: 15.07.2009 Сообщений: 6 |
|
02.09.2009, 10:25 [ТС] |
3 |
Я уже давно исправил эти ошибки, но всё равно спасибо
0 |
0 / 0 / 0 Регистрация: 08.04.2015 Сообщений: 13 |
|
24.11.2009, 08:46 |
4 |
Я уже давно исправил эти ошибки, но всё равно спасибо И в чем была ошибка? В этом «OBJ_ECT» что ли?Подскажите пожалуйста.
0 |
10.06.11 — 11:48
Собственно, интересует вопрос кто-нибудь подключался?
У меня подключиться получилось. Но запрос не выполняется:
ошибка при выполнении запроса
по причине:
Ошибка ODBC. SQLSTATE: HY000
Номер ошибки: -104
Описание: [ODBC Firebird Driver][Firebird]Dynamic SQL Error
SQL error code = -104
Token unknown — line 1, column 12
22″. Подскажите куда копать?
1 — 10.06.11 — 12:39
ни у кого не возникало подобных ошибок?
2 — 10.06.11 — 12:40
скуль.ру
3 — 10.06.11 — 12:40
«Token unknown»
Перевести?
4 — 10.06.11 — 12:41
(0) судя по ошибке — как раз нормально подключиться и не получилось.
Ругается на драйвер ODBC — вроде как не подходящий.
Как хоть подключались-то??
5 — 10.06.11 — 12:41
(4) где ты ругань на драйвер видишь?
6 — 10.06.11 — 12:43
(5) вижу, что ошибку вызывает драйвер подключения.
7 — 10.06.11 — 12:48
подключается нормально. Выводит таблицы. Выбираю нужные мне.
Ругается в режиме «Предприятия». Причем через «Управление внешними источниками» подключение происходит. А при открытии таблицы вываливается ошибка(0).
(3) Перевести я и сам смог. Текст запроса я не вижу.
8 — 10.06.11 — 12:53
Токен не распознался…
А здесь все форумы завалены, как лихо 1С подключается напрямую ко всем SQL-ям и прочим Файрбердам и хавает оттуда любые данные в любых количествах невзирая на различные структуры таблиц хранения и типы самих данных…
Хотя провозившись с этим «лихо подключается» перешли на промежуточную выгрузку в xls и оттуда — спокойно в 1С.
Так что поспрошайте «лихачей» ))
9 — 10.06.11 — 12:54
+(8) *на одном из предприятий перешли на промежуточную выгрузку в xls
10 — 10.06.11 — 12:54
(8) Ты не поверишь. Она «лихо 1С подключается напрямую ко всем SQL-ям и прочим Файрбердам и хавает оттуда любые данные в любых количествах невзирая на различные структуры таблиц хранения и типы самих данных»
Если, конечно, ошибок в пятом и семнадцатом оперонах нет…
11 — 10.06.11 — 12:54
(7) Вот и мы не видим. А ты его покажи..
12 — 10.06.11 — 12:57
(10) да-да, слышу такое с начала выпуска 8.0, а беспонтовые «подключатели» упорно портят статистику лихих подключений, tycvjnzh на выпуск 8.2 уже ))
13 — 10.06.11 — 12:57
*несмотря
14 — 10.06.11 — 13:16
(11) каким образом?
15 — 10.06.11 — 13:20
(12) у меня с 77 и до сих пор всё нормально подключается. У остальных руки.
(14) А я вижу твою программу?
16 — 10.06.11 — 13:40
(8) Угу, мы уже давно поняли, что 1С настолько плоха, что даже выход из ветвления не позволяет сделать.
17 — 10.06.11 — 14:12
(0) Запрос то покажешь?
18 — 10.06.11 — 14:28
платформа сама генерирует запрос
19 — 10.06.11 — 14:33
(18) Телепатически?
20 — 10.06.11 — 14:36
использую внешние источники данных. Платформа 8.2.14.460.
в конфигураторе я указываю с каких таблиц,какие поля брать.
21 — 10.06.11 — 14:39
(0) зачем вам эта бд, позвольте узнать?
22 — 10.06.11 — 14:40
(16) мало того, и вы будете шокированы, — платформа 1С не отличает объекта Номенклатуры от объекта ТабличнаяЧасть!
(уже вижу заголовки интернетов: «1С-ники шокированы! Они не знали всей правды!»
23 — 10.06.11 — 14:43
(21) это важно? к примеру получать данные о продажах. Просто в новой платформе появился интересный механизм — хочу посмотреть как он работает. Пока понимаю, что не очень
24 — 10.06.11 — 14:45
(23) не самая гибкая база, для боевого использования не пойдет, имхо. используйте EXPRESS на крайняк…
25 — 10.06.11 — 15:08
(24) к сожалению не могу
по поводу ошибки: все таки дело в ODBC драйвере. Поставил
Database Browse. Там есть возможность подключаться напрямую к БД и через ODBC. Через ODBC ошибка «Invalid stringlist index 10». А напрямую всё нормально. буду копать дальше
26 — 10.06.11 — 15:11
(20) Ну, там же все равно формируется какой-то запрос на языке запросов 1С. Вот на него бы взглянуть. Есть вероятность, что там, скажем, используется функциональность, не поддерживаемая Фаербирдовским диалектом SQL.
27 — 10.06.11 — 15:26
Настроил подключение к базе
http://s012.radikal.ru/i320/1106/35/0f2b3bd49095.jpg
1с Получила список таблиц. Выбрал нужную мне таблицу, взял самую простую «Штрихкоды»
http://s50.radikal.ru/i128/1106/4d/e3228509b1aa.jpg
запустил в режиме Предприятия. выскакивает ошибка:
http://s41.radikal.ru/i091/1106/1c/beee14095771.jpg
Где я могу увидеть запрос?
28 — 10.06.11 — 15:27
(26) если бы да кабы — то 1С была бы самой лучшей платформой на свете ))
У меня вопрос «там же все равно формируется какой-то запрос» возникает всегда, когда получаю данные в 1С. А ответа нет уже много-много лет.
(25) т.е. вопрос решился правильным подходом, а не танцами 1С-ников с бубном? ))
29 — 10.06.11 — 15:27
(27)… или не решился? ))
30 — 10.06.11 — 15:33
неа не решился. Данные я так и не смог получить — буду думать дальше (
31 — 10.06.11 — 15:49
(27) Ну, значит недопилила 1С внешние источники пока. Пользуйся ADODB по старинке.
32 — 10.06.11 — 15:54
(31)через ADODB и работает :). Просто хотелось скорость работы посмотреть )
33 — 10.06.11 — 16:00
(32) А почему скорость работы отличаться должна?
34 — 10.06.11 — 16:52
Ну через внешние источники все делает платформа. И я могу в запросе связать с данными 1с базы. А через ADO я получаю ТЗ.
35 — 10.06.11 — 17:20
(0) Ошибка -104 в iSQL базах встречалась на ранних релизах при использовании комментариев. На последних релизах вроде пишут на форумах, что исправлено.
Такую же ошибку выдает неверно поставленный разделитель, особенно если такая ошибка выходит в первых строках запроса.
Т.к. тут запрос генерируется платформой, то ты его не допилишь, наверное. Попробуй обновить FB
36 — 10.06.11 — 17:41
Спасибо! Стоит релиз 2.1. Попробую обновить до 2.5
37 — 10.06.11 — 17:48
(35) >>Т.к. тут запрос генерируется платформой, то ты его не допилишь
— а тру-1Сники против.
(36) в FireBird много ошибок в этих релизах (бесплатный все-таки), всегда желательно ставить последнюю версию.
Странно, что вы на 2.1 не познакомились с переполнением файла базы. Хотя, может база маленькая…
38 — 10.06.11 — 17:58
200 мегабайт
ShoGUN
39 — 10.06.11 — 18:04
Давно бы уже руками через ADO запрос написал…
роли соединение и доступ к таблице
Модератор: kdv
-
zva
- Сообщения: 4
- Зарегистрирован: 18 окт 2012, 14:05
роли соединение и доступ к таблице
Имеется пользователь testuser.
Create role myrole;
Commit;
Grant all on test to myrole;
Grant myrole to testuser;
Connect ‘d:basaOfDatabd.gdb’ user ‘testuser’ password ‘test’ role ‘myrole’;
Database: ‘d:basaOfDatabd.gdb’, user testuser, role: myrole
Select * from test;
Statement failed, SQLCODE = -551
no permission for read/select access to table TEST
Выполнив запрос от sysdba
Select rdb@privilege, rdb@user from rdb$user_privileges where rdb$user = ‘TESTUSER’;
Получаю : M TESTUSER
Выполнив запрос от sysdba
Select rdb@privilege, rdb@user from rdb$user_privileges where rdb$user = ‘MYROLE’;
Получаю :
S MYROLE
U MYROLE
I MYROLE
D MYROLE
R MYROLE
почему нет разрешения?
-
zva
- Сообщения: 4
- Зарегистрирован: 18 окт 2012, 14:05
Re: роли соединение и доступ к таблице
Сообщение
zva » 19 окт 2012, 11:54
Drop role myrole;
Commit;
Create role myrole;
Commit;
Grant all on test to ROLE myrole;
Statement faild, SQLCODE = -104
Dynamic SQL Error
-SQL error code = -104
-Token unknown – line 1,char 21
-ROLE
-
hvlad
- Разработчик Firebird
- Сообщения: 1244
- Зарегистрирован: 21 мар 2005, 10:48
Re: роли соединение и доступ к таблице
Сообщение
hvlad » 19 окт 2012, 15:44
А у меня работает. Как и должно.
1. Какая версия сервера ?
2. Полный результат запроса
Код: Выделить всё
SELECT * FROM RDB$USER_PRIVILEGES WHERE RDB$USER = 'MYROLE'
-
zva
- Сообщения: 4
- Зарегистрирован: 18 окт 2012, 14:05
Re: роли соединение и доступ к таблице
Сообщение
zva » 20 окт 2012, 20:29
Версия Interbase 7.5
В первом сообщении я все описал.
Вы посоветовали уточнить назначение прав для пользователя, однако, как
я показал во втором сообщении это вызвало исключение с кодом ошибки
-104. Таким образом результат остается прежним, именно, что при подсоединении к базе данных с ролью не действуют разрешения назначенные роли. При обращении к таблице базы данных имею
Select * from test;
Statement failed, SQLCODE = -551
no permission for read/select access to table TEST
При обращении к системной таблице, уже от sysdba, имею
Select rdb@privilege, rdb@user from rdb$user_privileges where rdb$user = ‘TESTUSER’;
Получаю : M TESTUSER (почему rdb@privilege = M? и что это означает)
Выполнив запрос, также от sysdba имею
Select rdb@privilege, rdb@user from rdb$user_privileges where rdb$user = ‘MYROLE’;
Получаю :
S MYROLE
U MYROLE
I MYROLE
D MYROLE
R MYROLE
Как будто все верно, но результата нет.
Если разрешения для таблицы назначить непосредственно пользователю, то результат, как и должен быть соответствует запросу.
-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Re: роли соединение и доступ к таблице
Сообщение
kdv » 22 окт 2012, 11:07
порядок действий
1. создать роль
2. включить в нее пользователя
3. дать роли права.
M — это membership. Тут должно быть все расписано:
http://www.ibase.ru/devinfo/sqlroles.htm
ваш пример повторил на IB 7.5 на employee.gdb, все работает
— убрал права PUBLIC на COUNTRY и EMPLOYEE
— create role MYROLE
— grant myrole to dima;
— grant all on employee to myrole
затем коннект под dima с ролью myrole. ОК.
select * from country — ошибка, нет прав
select * from employee — нет ошибки.
-
hvlad
- Разработчик Firebird
- Сообщения: 1244
- Зарегистрирован: 21 мар 2005, 10:48
Re: роли соединение и доступ к таблице
Сообщение
hvlad » 22 окт 2012, 12:50
zva писал(а):Версия Interbase 7.5
Ну так с этого нужно было начинать.
Всегда
zva писал(а):Select rdb@privilege, rdb@user from rdb$user_privileges where rdb$user = ‘TESTUSER’;
Я не просил этот запрос.
Впрочем, для IB это уже не важно.
-
zva
- Сообщения: 4
- Зарегистрирован: 18 окт 2012, 14:05
Re: роли соединение и доступ к таблице
Сообщение
zva » 22 окт 2012, 14:04
Спасибо всем!