Подскажите какой всё таки предпочесть SQLDialect и какими средствами пользоваться. Из его родной консоли как-то не удобно. Я использовал Marafon, но он не хочет работать с базой 3 диалекта. Может проще всё таки делать на 1 диалекте. Кто как делает?
» [Interbase] Создание базы
Сходи почитай www.ib.demo.ru, www.ibase.ru
Все зависит от тебя, и твоих условий и задач. В качестве инструмента разработчика лучьше всего Ib Еxpert, Quick Desk, Ib Admin.
Все зависит от тебя, и твоих условий и задач. В качестве инструмента разработчика лучьше всего Ib Еxpert, Quick Desk, Ib Admin.
А если я выбрал 3 диалект, то при создании домена даты нужно выбирать именно TIMESTAMP? IB Expert позволяет создавать домен типа DATE в базе с 3 диалектом. ;-/
Leshgan
RTFM
IB 6 Dialect 1
DATE - дата + время,
TIMESTAMP - дата + время
IB 6 Dialect 3
DATE - только дата,
TIME - только время,
TIMESTAMP - дата + время
RTFM
IB 6 Dialect 1
DATE - дата + время,
TIMESTAMP - дата + время
IB 6 Dialect 3
DATE - только дата,
TIME - только время,
TIMESTAMP - дата + время
Извиняюсь, если посчитаете оффтопом, но как вообще создать базу?
пишу файлик
--- 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 криво встал? или еще что?
пишу файлик
--- 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 криво встал? или еще что?
Tropin
Возможно у тебя просто не запущен сервер IB или FB смотря что ты используешь.
А так же попробуй для работы с базами IB/FB использовать IBManager http://www.ibmanager.com/ очень удобная программа.
Возможно у тебя просто не запущен сервер IB или FB смотря что ты используешь.
А так же попробуй для работы с базами IB/FB использовать IBManager http://www.ibmanager.com/ очень удобная программа.
Tropin
Цитата:
Это под линуксом? Если под win тогда C:\MYDATABASE.GDB.
Цитата:
'C:/MYDATABASE.GDB'
Это под линуксом? Если под win тогда C:\MYDATABASE.GDB.
2Fatalteser
Цитата:
Firebird Server и Firebird Guardian Service оба запущены (и что примечательно, даже в списке процессов присутствуют :)...
IBManager опробую позже, щас немогу, но нет особой уверенности, что он поможет...
2vserd
Пардон, а есть разница?
Хотя, впрочем, даже если и есть, то все равно не работает (пробовал, та же ошибка -904)...
Цитата:
Возможно у тебя просто не запущен сервер IB или FB
Firebird Server и Firebird Guardian Service оба запущены (и что примечательно, даже в списке процессов присутствуют :)...
IBManager опробую позже, щас немогу, но нет особой уверенности, что он поможет...
2vserd
Пардон, а есть разница?
Хотя, впрочем, даже если и есть, то все равно не работает (пробовал, та же ошибка -904)...
Цитата:
Пардон, а есть разница?
Если ты не видешь разницы в соглашениях ОС на указание путей к файлам, то зачем на тебя тратить время?
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.
ВСЕ СПАСИБО ВЪЕХАЛ...
2vserd Если б ответил минут на 30-40 раньше я б сэкономил пару часов (шутка :), а так, сам сначала въехал, а тут ужо и ответ лежит...
1. Его клиент isql не работает, если коннектишься через эУдаленное подключение к рабочему столуэ, а если напрямую логинишься на серваке, то все ОК!
2. server:C:\testdatabases\test.gdb вот тут и была загвоздка, я понял, что путь обязательно указывается полный и причем именно серверный (кстати с точки зрения безопасности это не слишком просто, для пользователя торчит реальный путь к БД на сервере? :)...
2vserd Если б ответил минут на 30-40 раньше я б сэкономил пару часов (шутка :), а так, сам сначала въехал, а тут ужо и ответ лежит...
1. Его клиент isql не работает, если коннектишься через эУдаленное подключение к рабочему столуэ, а если напрямую логинишься на серваке, то все ОК!
2. server:C:\testdatabases\test.gdb вот тут и была загвоздка, я понял, что путь обязательно указывается полный и причем именно серверный (кстати с точки зрения безопасности это не слишком просто, для пользователя торчит реальный путь к БД на сервере? :)...
Цитата:
кстати с точки зрения безопасности это не слишком просто, для пользователя торчит реальный путь к БД на сервере? :)
А толку? Все равно файлового доступа к базе нет (ведь нет шары, ведь правда у тебя нет шары??? :))))) ), все что сможет украсть определяется правами в базе. Посмотри у Димы Кузьменко, там вроде лежит статья о безопасности.
Еще вопрос, думаю сюда же!
Хочу, чтоб поля типа 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;
Хочу, чтоб поля типа 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;
Tropin
Цитата:
Регистрационная информация базы, в поле дополнительных параметров укажи строчку
lc_ctype=WIN1251
Цитата:
Туже строчку в IBDatabase.Parameters
Вобще-то RTFM по Charset-ам в IB, также можешь посмотреть по IBX FIB, FIB+
Особенно это ib.demo.ru\DevInfo\IBRUSFAQ.HTM, ОЧЕНЬ помогает.
P.S. Ты уже создал тему по языку, спрашивал бы там, как то все в одном флаконе удобнее.
Цитата:
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. Ты уже создал тему по языку, спрашивал бы там, как то все в одном флаконе удобнее.
Ответ найден, необходимо указывать кодировку при коннекте к базе (то есть в дельфе :)...
Добавлено
2vserd
извини не видел ответ, окошко не обновилось...
Добавлено
2vserd
извини не видел ответ, окошко не обновилось...
А как связываются таблицы в Interbase?
Подскажите, переносить данные с одной базы в другую спомощью программы IBPump говорят есть возможность скопировать справочники комплектующих в одной базе и добавить в другую уже к имеющимся комплектущимтем. поделитесь опытом. Или может есть другая программа подобная.
Страницы: 1
Предыдущая тема: Shell scripts (sh, bash, zsh, tcsh)
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.