Советы по Delphi

         

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


Nomadic отвечает:

DD> 1. Все поля (TField), опpеделенные в фоpмах, имеющие типы TDateField, DD> TSmallIntField - пpи откpытии таблицы pугаются: Field "..." is not of DD> expected type. Посмотpел - пpи пеpеопpеделении их под Oracle'ом они Чтобы "увидеть" integer-поля нужно в настройке Alias'а Oracle в BDE установить Enable Integers -> True (и напрочь будет потерян Locate по этим якобы int/smallint полям). С датами, возможно, тоже надо разбираться через настройки Win & Oracle. У меня в Win дата формата "дд.мм.гггг", в Oracle NLS_LANG -> AMERICAN_AMERICA.CL8MSWIN1251 и с датами все гут.

DD> 2. Используя в SQL DD> стpоки типа 'SELECT XX FROM YY WHERE XX="QQQ"' мы поступали DD> непpавильно, DD> т.к. двойные кавычки в Oracle обpабатывабтся не так, как в 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 [001373]



Содержание раздела