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

» [Interbase] Создание базы

Автор: Leshgan
Дата сообщения: 04.02.2003 08:13
Подскажите какой всё таки предпочесть SQLDialect и какими средствами пользоваться. Из его родной консоли как-то не удобно. Я использовал Marafon, но он не хочет работать с базой 3 диалекта. Может проще всё таки делать на 1 диалекте. Кто как делает?
Автор: vserd
Дата сообщения: 04.02.2003 08:57
Сходи почитай www.ib.demo.ru, www.ibase.ru
Все зависит от тебя, и твоих условий и задач. В качестве инструмента разработчика лучьше всего Ib Еxpert, Quick Desk, Ib Admin.
Автор: Leshgan
Дата сообщения: 06.02.2003 16:23
А если я выбрал 3 диалект, то при создании домена даты нужно выбирать именно TIMESTAMP? IB Expert позволяет создавать домен типа DATE в базе с 3 диалектом. ;-/
Автор: vserd
Дата сообщения: 07.02.2003 09:46
Leshgan
RTFM

IB 6 Dialect 1
DATE - дата + время,
TIMESTAMP - дата + время

IB 6 Dialect 3
DATE - только дата,
TIME - только время,
TIMESTAMP - дата + время

Автор: Tropin
Дата сообщения: 14.03.2003 17:48
Извиняюсь, если посчитаете оффтопом, но как вообще создать базу?

пишу файлик
--- init.sql ---
CREATE DATABASE 'C:/MYDATABASE.GDB' USER 'SYSDBA' PASSWORD 'masterkey' DEFAULT CHARACTER SET WIN1251;
COMMIT;
--- eof ---
далее в командной строчке
>isql -i init.sql

и получаю в ответ
Use CONNECT or CREATE DATABASE to specify a database
Statement failed, SQLCODE = -904

unavailable database
Use CONNECT or CREATE DATABASE to specify a database


пробовал IB Expert'ом?
Запускаю, говорю создать базу
Файл БД -> C:/MYDATABASE.GDB
имя пользователя -> SYSDBA
пароль -> masterkey

ответ: can't format message 13:96 -- message file C:\Program Files\Borland\Interbase\/interbase.msg not found.
unavailable database.

Как мне быть? может Firebird криво встал? или еще что?
Автор: Fatalteser
Дата сообщения: 14.03.2003 22:23
Tropin
Возможно у тебя просто не запущен сервер IB или FB смотря что ты используешь.
А так же попробуй для работы с базами IB/FB использовать IBManager http://www.ibmanager.com/ очень удобная программа.
Автор: vserd
Дата сообщения: 15.03.2003 09:07
Tropin

Цитата:
'C:/MYDATABASE.GDB'

Это под линуксом? Если под win тогда C:\MYDATABASE.GDB.

Автор: Tropin
Дата сообщения: 16.03.2003 15:47
2Fatalteser

Цитата:
Возможно у тебя просто не запущен сервер IB или FB

Firebird Server и Firebird Guardian Service оба запущены (и что примечательно, даже в списке процессов присутствуют :)...

IBManager опробую позже, щас немогу, но нет особой уверенности, что он поможет...


2vserd
Пардон, а есть разница?
Хотя, впрочем, даже если и есть, то все равно не работает (пробовал, та же ошибка -904)...
Автор: vserd
Дата сообщения: 17.03.2003 09:57

Цитата:
Пардон, а есть разница?

Если ты не видешь разницы в соглашениях ОС на указание путей к файлам, то зачем на тебя тратить время?

1. Попробуй снести и поставить заново IB.
2. В IBExpert CreateDatabase.
Если сервер установлен на той-же машине говоришь C:\testdatabases\test.gdb (если стоит TCP\IP то localhost:C:\testdatabases\test.gdb)
Если на другой, то xxx.yyy.zzzz.kkk:C:\testdatabases\test.gdb, где xxx.yyy.zzzz.kkk IP адрес машины с сервером
C:\testdatabases должен существовать.

Указываешь имя пользователя и пароль, размер страницы и кодовую страницу.
Указываешь диалект, ставишь галку на Register after Create. OK.
Автор: Tropin
Дата сообщения: 17.03.2003 11:33
ВСЕ СПАСИБО ВЪЕХАЛ...
2vserd Если б ответил минут на 30-40 раньше я б сэкономил пару часов (шутка :), а так, сам сначала въехал, а тут ужо и ответ лежит...

1. Его клиент isql не работает, если коннектишься через эУдаленное подключение к рабочему столуэ, а если напрямую логинишься на серваке, то все ОК!

2. server:C:\testdatabases\test.gdb вот тут и была загвоздка, я понял, что путь обязательно указывается полный и причем именно серверный (кстати с точки зрения безопасности это не слишком просто, для пользователя торчит реальный путь к БД на сервере? :)...
Автор: vserd
Дата сообщения: 17.03.2003 13:51

Цитата:
кстати с точки зрения безопасности это не слишком просто, для пользователя торчит реальный путь к БД на сервере? :)

А толку? Все равно файлового доступа к базе нет (ведь нет шары, ведь правда у тебя нет шары??? :))))) ), все что сможет украсть определяется правами в базе. Посмотри у Димы Кузьменко, там вроде лежит статья о безопасности.
Автор: Tropin
Дата сообщения: 20.03.2003 16:24
Еще вопрос, думаю сюда же!

Хочу, чтоб поля типа CHAR & VARCHAR в моей базе были не только англицкими, но и нашинскими тоже!

во всех доках говорят надо писать так:
CREATE DATABASE 'SERVER:С:\PATH\test.gdb' USER 'SYSDBA' PASSWORD 'masterkey' DEFAULT CHARACTER SET WIN1251;

при таком раскладе все круто работает, данные через IB Expert вносятся без проблем, а вот через SQL Explorer или (что важнее) через дельфевый компонент TIBQuery не могу выполнить UPDATE ... Cannot transliterate character between character sets...

но если пишу просто
CREATE DATABASE 'SERVER:С:\PATH\test.gdb' USER 'SYSDBA' PASSWORD 'masterkey';
то с точностью до наоборот SQL Explorer и Delphi это съедает, а IB Expert ругается на набор данных!!!

Так как собственно поступить?

ЗЫ:
SET NAMES WIN1251;
SET SQL DIALECT 3;
Автор: vserd
Дата сообщения: 20.03.2003 17:31
Tropin

Цитата:
IB Expert

Регистрационная информация базы, в поле дополнительных параметров укажи строчку
lc_ctype=WIN1251


Цитата:
через дельфевый компонент TIBQuery не могу выполнить UPDATE ... Cannot transliterate

Туже строчку в IBDatabase.Parameters

Вобще-то RTFM по Charset-ам в IB, также можешь посмотреть по IBX FIB, FIB+
Особенно это ib.demo.ru\DevInfo\IBRUSFAQ.HTM, ОЧЕНЬ помогает.

P.S. Ты уже создал тему по языку, спрашивал бы там, как то все в одном флаконе удобнее.
Автор: Tropin
Дата сообщения: 20.03.2003 17:31
Ответ найден, необходимо указывать кодировку при коннекте к базе (то есть в дельфе :)...

Добавлено
2vserd
извини не видел ответ, окошко не обновилось...
Автор: KcAlex
Дата сообщения: 01.05.2006 17:58
А как связываются таблицы в Interbase?
Автор: fxht
Дата сообщения: 01.05.2006 21:23
Подскажите, переносить данные с одной базы в другую спомощью программы IBPump говорят есть возможность скопировать справочники комплектующих в одной базе и добавить в другую уже к имеющимся комплектущимтем. поделитесь опытом. Или может есть другая программа подобная.

Страницы: 1

Предыдущая тема: Shell scripts (sh, bash, zsh, tcsh)


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