Чтение онлайн

на главную - закладки

Жанры

Советы по Delphi. Версия 1.4.3 от 1.1.2001

Озеров Валентин

Шрифт:

Как в Oracle создать sequence с некоторого номера?

Одной строкой 

Nomadic отвечает:

create sequence minvalue 10;
 

Как решать некоторые вопросы при подключении к Oracle?

Nomadic отвечает:

DD> 1. Все поля (TField), определенные в формах, имеющие типы TDateField,

DD> TSmallIntField – при открытии таблицы ругаются: Field «…» is not of

DD> expected type. Посмотрел –

при переопределении их под Oracle'ом они

Чтобы «увидеть» integer-поля нужно в настройке Alias'а Oracle в BDE установить Enable Integers→True (и напрочь будет потерян Locate по этим якобы int/smallint полям). С датами, возможно, тоже надо разбираться через настройки Win & Oracle. У меня в Win дата формата «дд.мм.гггг», в Oracle NLS_LANG→AMERICAN_AMERICA.CL8MSWIN1251 и с датами все гут.

DD> 2. Используя в SQL

DD> строки типа 'SELECT XX FROM YY WHERE XX="QQQ"' мы поступали

DD> неправильно,

DD> т.к. двойные кавычки в Oracle обрабатываются не так, как в Btrieve.

Oracle в данном случае не при чем. Это глюк BDE. Лечилось просто – вместо обрамления двойными кавычками строкового значения, нужно обрамлять его с помощью #39, примерно так 

MySQLString := 'SELECT XX FROM YY WHERE XX='+#39+'QQQ'+#39;

Belsky Roman

(2:450/94.75)

SS> У кого-нибудь есть опыт по настройке BDE? Откликнитесь плиз! При

SS> попытке соединиться с базой вылезает ошибка: Vendor failed init!

SS> Delphi запускаю под 95. Hа всякий случай пути к \BDE и ORAWIN\BIN я

SS> проставил! orant71.dll (родной или переименнованый ora72win.dll)

SS> закидывал куда угодно, но… все равно вылетает ошибка BDE Error

SS> 15879 Vendor failed init :-(

Клиент у тебя NT, как я понял?

• ora7x.dll – 32bit клиент для win95

• orant7x.dll – 32bit клиент для NT

• ora7xwin.dll – 16bit клиент для win

т.е. ora7xwin в Delphi3 вообще ставить бесполезно (16bit для 32bit appl). ora*71.dll у меня изначально к ORACLE 7.2 не коннектился – они там как-то резко сменили OCI. Правда потом ora72win.dll с Personal Oracle 7.3 работал, но все равно лучше, наверное, чтобы номер версии dll был не ниже версии сервера.

А вообще я 32bit дельфях в Vendor Init давно прописываю OCIW32.dll – он всегда для последней версии сервера с которым ты работаешь.

Это IMHO. Hо у меня Delphi3 и Delphi1 коннектятся как с Oracle 7.1 на Unix'е, так и с Personal Oracle 7.3 

WindowsNT 4.0 + Delphi 2.01 C/S + Oracle Client 7.3 + Oracle Server 7.3. После логина в базу данных возникает `EExternalError 0xC0000008`. Что делать?

Nomadic коротко отвечает:

A: (IA, SK): Снести Oracle Trace Collection Services.

Псевдонимы

Получение пути псевдонима и таблицы I

Delphi 1

Есть три способа сделать это… №1 годится только для постоянных псевдонимов BDE. №2 работает с BDE и локальными

псевдонимами, и No3 работает с BDE и локальными псевдонимами, используя "тяжелый" путь, через вызовы DBI.

function GetDBPath1(AliasName: string): TFileName;

var ParamList: TStringList;

begin

 ParamList := TStringList.Create;

 with Session do try

GetAliasParams(AliasName,ParamList);

Result := UpperCase(ParamList.Values['PATH'])+'\';

 finally

Paramlist.Free;

 end;

end;

function GetDBPath2(AliasName: string): TFileName;

var

 ParamList: TStringList;

 i: integer;

begin

 ParamList := TStringList.Create;

 with Session do try

try

GetAliasParams(AliasName,ParamList);

except

for i:=0 to pred(DatabaseCount) do

if (Databases[i].DatabaseName = AliasName) then

ParamList.Assign(Databases[i].Params);

end;

Result := UpperCase(ParamList.Values['PATH'])+'\';

 finally

Paramlist.Free;

 end;

end;

function GetDBPath3(ATable: TTable): TFileName;

var

 TblProps: CURProps;

 pTblName, pFullName: DBITblName;

begin

 with ATable do begin

AnsiToNative(Locale, TableName, pTblName, 255);

Check(DBIGetCursorProps(Handle, TblProps));

Check(DBIFormFullName(DBHandle,pTblName,TblProps.szTableType,pFullName));

Result := ExtractFilePath(StrPas(pFullName));

Поделиться:
Популярные книги

Газлайтер. Том 8

Володин Григорий
8. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 8

На Ларэде

Кронос Александр
3. Лэрн
Фантастика:
фэнтези
героическая фантастика
стимпанк
5.00
рейтинг книги
На Ларэде

Охота на попаданку. Бракованная жена

Герр Ольга
Любовные романы:
любовно-фантастические романы
5.60
рейтинг книги
Охота на попаданку. Бракованная жена

Кай из рода красных драконов

Бэд Кристиан
1. Красная кость
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Кай из рода красных драконов

Хозяйка Проклятой Пустоши. Книга 2

Белецкая Наталья
2. Хозяйка Проклятой Пустоши
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Хозяйка Проклятой Пустоши. Книга 2

Безумный Макс. Поручик Империи

Ланцов Михаил Алексеевич
1. Безумный Макс
Фантастика:
героическая фантастика
альтернативная история
7.64
рейтинг книги
Безумный Макс. Поручик Империи

Потусторонний. Книга 2

Погуляй Юрий Александрович
2. Господин Артемьев
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Потусторонний. Книга 2

Чапаев и пустота

Пелевин Виктор Олегович
Проза:
современная проза
8.39
рейтинг книги
Чапаев и пустота

Солнечный корт

Сакавич Нора
4. Все ради игры
Фантастика:
зарубежная фантастика
5.00
рейтинг книги
Солнечный корт

Лютая

Шёпот Светлана Богдановна
Любовные романы:
любовно-фантастические романы
6.40
рейтинг книги
Лютая

Ведьмак (большой сборник)

Сапковский Анджей
Ведьмак
Фантастика:
фэнтези
9.29
рейтинг книги
Ведьмак (большой сборник)

Наследие Маозари 4

Панежин Евгений
4. Наследие Маозари
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Наследие Маозари 4

Ученик

Губарев Алексей
1. Тай Фун
Фантастика:
фэнтези
5.00
рейтинг книги
Ученик

Начальник милиции. Книга 5

Дамиров Рафаэль
5. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Начальник милиции. Книга 5