2009-09-03 2 views
1

Ниже код работает в Delphi 2007, но это дает мне эту ошибку в Delphi 2010:ошибка DBEXPRESS в Delphi 2010

--------------------------- 
Error 
--------------------------- 
Cannot load oci.dll library (error code 127). 
The oci.dll library may be missing from the system path 
or you may have an incompatible version of the 
library installed. 
--------------------------- 
OK Details >> 
--------------------------- 

Исключение возникает, когда я установил «подключен» к «истинным».

Я попытался поместить копию «oci.dll» в ту же папку, что и файл .exe, но я получаю то же сообщение.

Я также получаю это сообщение при использовании конструктора форм и видимого компонента TSQLConnection.

Любые мысли?

function TDBExpressConnector.GetConnection(username, password, servername: string) : TSQLConnection; 
begin 
    //take a username, password, and server 
    //return a connected TSQLConnection 
    try 
    FSqlDB := TSQLConnection.Create(nil); 
    with FSqlDB do begin 
     Connected := False; 
     DriverName := 'Oracle'; 
     GetDriverFunc := 'getSQLDriverORACLE'; 
     KeepConnection := True; 
     LibraryName := 'dbxora30.dll'; 
     ConnectionName := 'OracleConnection';; 

     Params.Clear; 
     Params.Add('DriverName=Oracle'); 
     Params.Add('DataBase=' + servername); 
     Params.Add('User_Name=' + username); 
     Params.Add('Password=' + password); 
     Params.Add('RowsetSize=20'); 
     Params.Add('BlobSize=-1'); 
     Params.Add('ErrorResourceFile='); 
     Params.Add('LocaleCode=0000'); 
     Params.Add('Oracle TransIsolation=ReadCommited'); 
     Params.Add('OS Authentication=False'); 
     Params.Add('Multiple Transaction=False'); 
     Params.Add('Trim Char=False'); 
     Params.Add('Decimal Separator=.'); 

     LoginPrompt := False; 
     Connected := True; 
    end; 

    Result := FSqlDB; 
    except on e:Exception do 
    raise; 
    end; //try-except 
end; 

ответ

0

В Delphi 2010 драйвер dbExpress для Oracle - dbxora.dll. Имя библиотеки в вашем именованном соединении говорит dbxora30.dll. Хороший шанс, что он будет работать с правильным именем!

+0

К сожалению, это не имеет значения. Спасибо хоть – JosephStyons

-2

Смотрите проблему и исправить здесь: My Blog

Просто заменить библиотеки DLL для одного я упоминаю в моем посте. Вы должны найти его в том же каталоге.

Смежные вопросы