![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема в Interbase [D7, IB6.x]
Дмитрий Иванович © (2007-10-01 10:37:00)на форме вешаю DBGrid и DataSource.
прописываю:
datasource1.DataSet:= DataModule2.IBQuery1;
DBGrid1.DataSource:=Datasource1;
На DataModule2 положил IBQuery1,IBTransaction1,IBDataBase1.
связал их
Datamodule2.IBDatabase1.DefaultTransaction:=Datamo dule2.IBTransaction1;
DataModule2.IBDatabase1.DatabaseName:=('F:\WORKED\ Ini\NAKLAD.GDB');
DataModule2.IBTransaction1.DefaultDatabase:=Datamo dule2.IBDatabase1;
DataModule2.IBQuery1.Database:=Datamodule2.IBDatab ase1;
IBQuery1.SQL.Add('SELECT * FROM TypeProd');
Происходит ошибка:
Dynamic SQL Error
SQL Error Code =-204
Table Unknown
TYPEPROD
Хотя таблица TypeProd есть в базе Naklad.GDB . Что то немогу понять, почему происходит ошибка? Ведь SQL запрос правильный...
Desdechado (2007-10-01 21:13:00) [1]Ты через раз читаешь? Я тебе еще в Desdechado © (01.10.07 13:55) [10] сказал об этом, потом в DrPass © (01.10.07 15:06) [11] намекнули, потом в Desdechado © (01.10.07 16:29) [13] добавили.
Нельзя ж так тормозить...
Дмитрий Иванович (2007-10-01 20:58:00) [2]> Имей в виду, что в третьем диалекте, если ты при создании объектов задаешь их названия в кавычках, они становятся чувствительными к регистру
ВОТ ОНО). Я знал про регистры, но вот как то забыл.
DrPass (2007-10-01 20:10:00) [3]
> Да есть же таблица(вернее, она существует)! В чем может
> быть дело, я даже представить немогу...
Чудес не бывает. По крайней мере, в компьютере. Если существует, значит, ты просто неправильно указываешь имя. Имей в виду, что в третьем диалекте, если ты при создании объектов задаешь их названия в кавычках, они становятся чувствительными к регистру
Дмитрий Иванович (2007-10-01 18:34:00) [4]>> В данном случае нету таблицы.
Да есть же таблица(вернее, она существует)! В чем может быть дело, я даже представить немогу...
sydenis (2007-10-01 17:46:00) [5]или в CREATE TABLE все имена пиши без кавычек
Дмитрий Иванович (2007-10-01 17:24:00) [6]>> Desdechado
Большое спасибо за помощь
Desdechado (2007-10-01 16:29:00) [7]ManID возьми в кавычки. И читай доки по третьему диалекту.
Дмитрий Иванович (2007-10-01 16:27:00) [8]> А попробуй SELECT * FROM "TypeProd"
происходит такая же ошибка(
Начал создавать поновому БД. Столкнулся с такой ошибкой(при создании таблицы):
Dynamic SQL Error
SQL error code = -206
Column unknown
NEW.MANID
Statement: CREATE TRIGGER "BEF_INS_OtpRazr" FOR "OtpRazr"
ACTIVE BEFORE INSERT
AS
BEGIN
NEW.ManID=GEN_ID(GEN_OtpRazr,1);
END
Сам код:
CREATE TABLE "OtpRazr"
(
"ManID" Integer NOT NULL,
"family" VARCHAR(100) CHARACTER SET WIN1251 NOT NULL,
Primary key ("ManID")
);
CREATE GENERATOR GEN_OtpRazr
SET GENERATOR GEN_OtpRazr To 0
SET TERM!! ;
CREATE TRIGGER "BEF_INS_OtpRazr" FOR "OtpRazr"
ACTIVE BEFORE INSERT
AS
BEGIN
NEW.ManID=GEN_ID(GEN_OtpRazr,1);
END!!
SET TERM; !!
не могу понять в чем проблема, ведь перед этим я создал таблицу с аналогичным кодом, поменял только имя таблицы и переменных
DrPass (2007-10-01 15:06:00) [9]
> Хотя таблица TypeProd есть в базе Naklad.GDB
А попробуй SELECT * FROM "TypeProd"
Desdechado (2007-10-01 13:55:00) [10]Есть подозрения, что БД создана в 3-м диалекте, а там имена регистрозависимые.
Johnmen © (01.10.07 12:55) [8]
Да, подзабыл я этот момент в FB. В Оракле как раз дает "таблица не найдена", если нет прав на нее.
Johnmen (2007-10-01 12:57:00) [11]Читать от корки www.ibase.ru
И не задавать вопросов уровня "мне лень смотреть в документацию, подскажите мне быстренько".
Johnmen (2007-10-01 12:55:00) [12]Права здесь непричем. Если бы было дело в них, ошибка была бы другой.
В данном случае нету таблицы.
Дмитрий Иванович (2007-10-01 12:55:00) [13]А еще вопрос, можно ли через IBConsole назначить привилегии на базу данных?
Дмитрий Иванович (2007-10-01 12:53:00) [14]я понимаю что не обязательно, можно и SELECT, UPDATE, INSERT,DELETE... и т.д. Просто тяжело с этим всем разобраться самому, хочу что бы на форуме толковые люди подсказали.
Desdechado (2007-10-01 12:47:00) [15]В документации все есть.
Не обязательно ALL, не обязательно PUBLIC. Скорее, вредно.
Дмитрий Иванович (2007-10-01 12:19:00) [16]Подскажите пожалуйста способы задания прав на базу данных в InteBase.
На конкретную таблицу будет вроде так:
GRANT ALL ON OtpProizv TO PUBLIC
Desdechado (2007-10-01 11:46:00) [17]Подключиться SYSDBA и сделать GRANT
Дмитрий Иванович (2007-10-01 11:27:00) [18]я еще начинающий, как можно узнать есть ли права?
tesseract (2007-10-01 10:46:00) [19]
> Хотя таблица TypeProd есть в базе Naklad.GDB . Что то немогу
> понять, почему происходит ошибка? Ведь SQL запрос правильный.
> ..
А права на её чтение есть ?