![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создание базы даннх программным путём [D6, IB6.x]
Александр_н © (2005-10-27 14:58:00)Задача: перенести данные из таблиц базы данных на Oracle в таблицы базы данных InterBase. База данных InterBase и все таблицы должны создаваться программным путём, считывая информацию из базы данных Oracle.
Не удаётся при создании базы InterBase с помощью компонента IBDataBase установить национальную кодировку WIN1251. Как только указываю IBDataBase1.Params.Add('DEFAULT CHARACTER SET WIN1251'), так программа завершается с ошибкой. Прочие параметры (SIZE,USER,PASSWORD) принимаются. И как задать порядок сортировки PXW_CYRL, если информацию о типе столбца и его размерности я получаю из базы данных Oracle. Спасибо.
Александр_н (2005-10-27 16:32:00) [21]Спасибо Johnmen, но я, возможно чего-то не понял или плохо объяснил. В IBConsole я прекрасно могу создать нужные мне таблицы с необходимой кодировкой и порядком сортировки, но сделать мне надо это в своей программе. Делаю я это так:
IBDataBase1.Params.Add('USER "'+Trim(CreateBase.Edit2.Text)+'"');
IBDataBase1.Params.Add('PASSWORD "'+Trim(CreateBase.Password.Text)+'"');
IBDataBase1.Params.Add('PAGE_SIZE '+Trim(CreateBase.ComboBox1.Text));
//IBDataBase1.Params.Add('DEFAULT CHARACTER SET WIN1251');
IBDataBase1.SQLDialect:=3;
IBDataBase1.CreateDatabase;
Из TIBDatabase.CreateDatabase+F1 следует, что национальную кодировку на этапе созданя базы данных вводить не надо:
1. Set the database name to the drive, path, and filename of the database file.
2. Set Params to the parameter for the CREATE DATABASE statement:
USER "SYSDBA"
PASSWORD "masterkey"
PAGE_SIZE 4096
3. Set the SQLDialect value.
4. Call the CreateDatabase method.
А мне это необходимо для дальнейшей перекачке данных из Oracle. Вот я и спрашиваю - как это обойти. Спасибо.
Johnmen (2005-10-27 15:21:00) [22]TIBDatabase.CreateDatabase+F1 ?
Ошибка секретная?
См. COLLATE