Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» InterBase и FireBird: вопросы по работе и их решение

Автор: Omsk
Дата сообщения: 06.07.2010 09:04
Какими еще клиентами можно соединиться к базе данных Mysql, а то в этой командной строке неудобно работать. Пробовал с помощью FlameRobin, не получается.
Автор: volser
Дата сообщения: 06.07.2010 10:09
Omsk
Темой не ошиблись?
Автор: jonikDk
Дата сообщения: 06.07.2010 11:50
Omsk
а при чем тут MySql ? Топик называется Interbase и Firebird
Автор: Omsk
Дата сообщения: 06.07.2010 16:31
Я ведь не смог клиентом Firebird подсоединиться, вот и решил тут задать вопрос
Автор: Tantos
Дата сообщения: 07.07.2010 02:07
Omsk
Клиентом Firebird к серверу MySQL? Вы никакого противоречия не замечаете?
Автор: jonikDk
Дата сообщения: 07.07.2010 09:37

Цитата:
Я ведь не смог клиентом Firebird подсоединиться, вот и решил тут задать вопрос

Просто удивительно, что у тебя не получилось. Может для разнообразия стоило попробовать клиент MySQL ?
Автор: Omsk
Дата сообщения: 07.07.2010 09:48
Нашел уже клиентов для Mysql
Автор: RedPromo
Дата сообщения: 08.07.2010 09:12
FB 2.1-2.5. Можно ли использовать проедуры с параметрами в Select и как
В параметр необходимо передать ключевое поле из селективной таблицы
Пример
Select ID, Процедура(ID) From users
Автор: volser
Дата сообщения: 08.07.2010 12:16
RedPromo
Select ID, (Select Result1 from Процедура(ID)) From users
Автор: jonikDk
Дата сообщения: 08.07.2010 13:25
RedPromo
по моему еще так можно
select field1, field2, возвращаемый_процедурой_значение
from table join имя_проц(параметры) on 1=1
Автор: EugeneBoss3
Дата сообщения: 26.07.2010 07:58
Знатоки, помогите, пожалуйста найти ошибку в коде.
Использую компоненты из пакета IbDac для доступа к базе Firebird 2.5
Нужно создать программно новую базу и создать в ней таблицы и т.д.
Проблема - при выполнении запроса - ошибка, хотя этот же текст по одной строке выполняется без проблем, весь текст без проблем выполняется в IBExpert'e
[more=Код.]
//---------------------------------------------------------- создание SQLText:
function CreateSQLText:string;
begin
Result:=
'CREATE DOMAIN D_FLOAT AS FLOAT DEFAULT 0.00; '+
'CREATE DOMAIN D_IDPS AS SMALLINT DEFAULT 0; '+
'CREATE DOMAIN D_MONTH AS SMALLINT DEFAULT 0; '+
'CREATE DOMAIN D_SMALLINT AS SMALLINT DEFAULT 0; '+
'CREATE DOMAIN D_TIME AS VARCHAR(10) CHARACTER SET WIN1251 DEFAULT '+QuotedStr('00:00')+' COLLATE PXW_CYRL; '+
'CREATE DOMAIN D_VARCHAR_45 AS VARCHAR(45) CHARACTER SET WIN1251 COLLATE PXW_CYRL; '+
'CREATE TABLE ACCOUNT_ALL ( '+
' MONTH_NOM D_MONTH, '+
' ID_PS D_IDPS, '+
' PROFBRIG D_SMALLINT, '+
' NAME_BRIG D_VARCHAR_45, '+
' MED_PLAN D_FLOAT, '+
' MED_PLAN_TIME D_TIME, '+
' MED_FACT D_FLOAT, '+
' MED_FACT_TIME D_TIME, '+
' TIME_IDLE D_TIME, '+
' AUTO_PLAN D_FLOAT, '+
' AUTO_PLAN_TIME D_TIME, '+
' AUTO_FACT D_FLOAT, '+
' AUTO_FACT_TIME D_TIME, '+
' TIME_REPAIR D_TIME '+
');'+
'CREATE TABLE ACCOUNT_YEAR ( '+
' DATESMEN DATE, '+
' MONTH_NOM D_MONTH '+
'); '+
'CREATE INDEX ACCOUNT_ALL_IDX ON ACCOUNT_ALL (MONTH_NOM, ID_PS, PROFBRIG);'+
'CREATE INDEX DAYS_YEAR_IDX ON DAYS_YEAR (DATESMEN);';
end;

//---------------------------------------------------- создание базы данных:
function CreateFIBDatabase( IBCConnection : TIBCConnection;
IBCTransaction : TIBCTransaction;
const sFileName : string;
User: string = 'SYSDBA';
Code: string = 'masterkey';
ClientLib: string = 'gds32.dll'): Boolean;
begin
Result:= False;
if (Trim(sFileName)='') then Exit;
if not FileExists(sFileName) then
begin
try
with IBCConnection do
begin
SQLDialect:= 3;
Database := sFileName;
DefaultTransaction := IBCTransaction;
Username := User;
Password := Code;
ClientLibrary := ClientLib;
Options.Charset := 'WIN1251';
Options.Protocol := TCP;
CreateDatabase;
Result:= FileExists(sFileName);
end;
except
MessageDlg('Ошибка создание Базы Данных:'+ #13#13+
QuotedStr(sFileName) +' !', mtError,[mbOK],0);
Result:= False;
end;
end
else begin
if MessageDlg('База Данных:'+#13#13+
QuotedStr(sFileName) +#13#13+
'уже существует!. Перезаписать существующую Базу Данных?',
mtConfirmation, [mbOk, mbCancel], 0) = mrOk then
begin
if DeleteFile(PChar(sFileName)) then
begin
try
with IBCConnection do
begin
Database := sFileName;
DefaultTransaction := IBCTransaction;
Username := User;
Password := Code;
ClientLibrary := ClientLib;
CreateDatabase;
Result:= FileExists(sFileName);
end;
except
MessageDlg('Ошибка создание Базы Данных:'+ #13#13+
QuotedStr(sFileName) +' !', mtError,[mbOK],0);
Result:= False;
end;
end;
end;
end;
end;

//------------------------------------------------------- подключение к базе :
function FIBConnection( IBCConnection : TIBCConnection;
IBCTransaction : TIBCTransaction;
const sFileName : string;
bConnect : Boolean=True): Boolean;
begin
Result:= False;
try
with IBCConnection do
begin
if FileExists(sFileName) then
begin
Database := sFileName;
DefaultTransaction := IBCTransaction;
Username := 'SYSDBA';
Password := 'masterkey';
ClientLibrary := 'gds32.dll';

case bConnect of
True :
begin
try
if not Connected then Connected:= True;
Transaction.Active:= Connected;
Result:= Connected;
except
MessageDlg('Подключение к базе '+sFileName+' не выполнено',
mtWarning, [mbOk], 0 );
Result:= False;
end;
end ;
False :
begin
try
Connected:= False;
Transaction.Active:= Connected;
Result:= not Connected;
except
MessageDlg('Отключение от базы '+sFileName+' не выполнено',
mtWarning, [mbOk], 0 );
Result:= False;
end;
end ;
end; // case
end
else begin
MessageDlg('База '+sFileName+' не найдена!',
mtWarning, [mbOk], 0 );
Result:= False;
end;
end;
except
MessageDlg('Не доступен SQL-Сервер!',mtError,[mbOK],0);
Result:= False;
end;
end;

//---------------------------------------------- создание таблиц базы данных:
function CreateFIBTables( IBCConnection : TIBCConnection;
IBCTransaction : TIBCTransaction;
IBCQuery : TIBCQuery;
const sFileName : string ):Boolean;
var
sSQLTxt:string;
begin
sSQLTxt := CreateAccountSQLText;
Result := False;
try
if CreateFIBDatabase( IBCConnection, IBCTransaction, sFileName) then
begin
if FIBConnection( IBCConnection, IBCTransaction, sFileName) then
begin
try
with IBCQuery do
begin
Connection := IBCConnection;
Transaction:= IBCTransaction;
Close;
SQL.Clear;
SQL.Text:= sSQLTxt;
ExecSQL;
end;
Result:= True;
except
Result:= False;
end;
end;
end;
except
Result:= False;
end;
end;

[/more]
Заранее спасибо.
Автор: jonikDk
Дата сообщения: 26.07.2010 08:31

Цитата:
Проблема - при выполнении запроса - ошибка, хотя этот же текст по одной строке выполняется без проблем, весь текст без проблем выполняется в IBExpert'e

а ошибка так и пишется Ошибка и все ??
Вообще я такие скрипты выполнял через компонет TpFibScript (точное нзвание не помню уже) а в IBDac не знаю есть такой компонент или нет...
Автор: EugeneBoss3
Дата сообщения: 26.07.2010 10:19
jonikDk
Где-то в коде SQL скрипта - CREATE
Автор: jonikDk
Дата сообщения: 26.07.2010 11:45
EugeneBoss3
Файл Базы создается или нет ? Если да, то идем дальше. Посмотри в help по IBdac TIBCQuery умеет выполнять скрипты, ну либо сам попробуй делов на 5 минут. Если не умеет, то посмотри в help может есть компонент который может выполнять.

Цитата:
Где-то в коде SQL скрипта - CREATE

ну Delphi должен был нормальную ощибку выдать, а нет такую...
Автор: EugeneBoss3
Дата сообщения: 27.07.2010 07:37
jonikDk
Использовал компонент TIBCScript - все нормально! Спасибо!!!
Автор: JohnSilver182
Дата сообщения: 10.08.2010 14:03
Hi All
А в ХП птица можно как в DELPHI написать

Пример в Делфи

Код:
try
Защищенный Блок
except
end;
Автор: AlexPetrovich
Дата сообщения: 10.08.2010 14:16

Код: DECLARE a INTEGER;
BEGIN
a = 23 / a;
WHEN SQLCODE -802 DO
BEGIN
a = 12;
END
WHEN GDSCODE arith_except DO
BEGIN
EXEPTION;
END
WHEN EXCEPTION my_error DO
BEGIN
EXEPTION my_error 'User defined error raised';
END
WHEN ANY DO
BEGIN
a = 12;
EXEPTION;
END
END;
Автор: kolyas
Дата сообщения: 13.08.2010 15:34
Подскажите плиз.
Есть база, в ней одна таблица содержит в blob полях jpeg и gif файлы.
С помощью чего - попроще, можно вытащить эти картинки.
Программка мож какая. Чтобы экспортировать и сразу в папочку.
Автор: volser
Дата сообщения: 13.08.2010 16:51
kolyas
IBExpert или написать свою.
Автор: kolyas
Дата сообщения: 13.08.2010 16:53
volser
разве при экспорте в ibexpert можно выгрузить из blob полей файлами ?

подскажите где это там такое.
с interbase я как то совсем не дружен. =(
Автор: OXDBA
Дата сообщения: 23.08.2010 09:23
Третья российская конференция по СУБД Firebird и InterBase У кого есть возможность посетить (особенно за счет работодателя) настоятельно рекомендую, первые две были очень полезны.
Автор: Czechoslovak
Дата сообщения: 24.08.2010 14:59

Цитата:
IBExpert или написать свою.

Ну одним махом по файлом наверно все не разложишь, но открыть в Blob Viewer/Editor открыть и сохранить можно...а что бы автоматизировать придется сам ому что то писать...
Автор: Andryshok
Дата сообщения: 29.09.2010 16:39
kolyas
Написать свою и выгрузить блобы в файлы - только так , при использовании менеджеров БД придется ручками выковыривать, так то вот
Автор: data man
Дата сообщения: 04.10.2010 22:23
Наконец-то 2.5 релизнулся, ура!
Хотя в снапшотах есть версия и поновее.
Автор: jonikDk
Дата сообщения: 04.10.2010 23:38
data man

Цитата:
Наконец-то 2.5 релизнулся, ура!

да с задержкой почти на 2 года. Но все равно приятная новость.
Автор: Vital283
Дата сообщения: 01.11.2010 14:14
Что там нового в новой версии?
Где б почитать по-русски
Автор: jonikDk
Дата сообщения: 01.11.2010 15:28
Vital283
ищи на sql.ru Гаджимуратов должен выложить или уже выложил на руском релиз нот
Автор: JohnSilver182
Дата сообщения: 01.11.2010 16:50
Vital283
Лутше всех знает Dimitry Sibiryakov на SQL.ru
Автор: jonikDk
Дата сообщения: 01.11.2010 18:03
Vital283
Ссылка
Автор: Granmer
Дата сообщения: 22.11.2010 20:25
Плохой канал, глюки сервера и т.п. приводят к периодическому отключения программы от сервера с БД. Буквально через секунду соединение восстанавливается, но нужно реконнектить отключившиеся датасеты. Подскажите, пожалуйста, как правильнее всего организовать обработку отключения от сервера с последующим восстановлением подключения и открытием датасетов/выполнением последней команды обновления данных?
FireBird 2.1.3, Delphi, FIB.

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465

Предыдущая тема: Сравнение двух строк


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.