Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема в 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 запрос правильный.
> ..


А права на её чтение есть ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо