Страница 1 из 1

Невозможно найти oracleconnection

СообщениеДобавлено: 29.05.2017 15:24:49
azsx
Хочу из lazarus подключить oracle. Нашел тестовый пример: http://wiki.freepascal.org/Oracle
test.lpr(9,3) Fatal: Невозможно найти oracleconnection, используемый в test в инспекторе проекта.
Как же так, я ведь добавил компонент Torasesion в модуль данных?
зы
модуль данных
Код: Выделить всё
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Ora;

type

  { TDataModule1 }

  TDataModule1 = class(TDataModule)
    OraSession1: TOraSession;
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  DataModule1: TDataModule1;

implementation

{$R *.lfm}

end.

сама программа (пока без паролей)
Код: Выделить всё
program oracharset;

{ Shows client and server character set/NLS info}
{ PLEASE EDIT PASSWORDS ETC BELOW. }

{$mode objfpc}{$H+}

uses {$IFDEF UNIX} {$IFDEF UseCThreads}
  cthreads, {$ENDIF} {$ENDIF}
  Classes,
  SysUtils, odac10,
  sqldb,
  oracleconnection, Unit1;

var
  Col: integer;
  Conn: TOracleConnection;
  Tran: TSQLTransaction;
  Q: TSQLQuery;
begin
  Conn := TOracleConnection.Create(nil);
  Tran := TSQLTransaction.Create(nil);
  Q := TSQLQuery.Create(nil);
  try
    // * EDIT IDENTIFYING INFO AS NEEDED*
    Conn.HostName := '';
    Conn.UserName := 'system';
    Conn.Password := '';
    Conn.DatabaseName := 'XE';
    // *END IDENTIFIYING INFO*
    Conn.Transaction := Tran;
    Q.DataBase := Conn;
    Conn.Open;
    Tran.Active := true;

    writeln('Server character set info:');
    Q.SQL.Text := 'SELECT value$ FROM sys.props$ WHERE name like ''NLS_%'' ';
    Q.Open;
    Q.First;
    while not (Q.EOF) do
    begin
      writeln('*****************');
      for Col := 0 to Q.Fields.Count - 1 do
      begin
        try
          writeln(Q.Fields[Col].DisplayLabel + ':');
          writeln(Q.Fields[Col].AsString);
        except
          writeln('Error retrieving field ', Col);
        end;
      end;
      Q.Next;
    end;
    Q.Close;

    writeln('');
    writeln('Client character set info:');
    Q.SQL.Text := 'SELECT * FROM NLS_SESSION_PARAMETERS ';
    Q.Open;
    Q.First;
    while not (Q.EOF) do
    begin
      writeln('*****************');
      for Col := 0 to Q.Fields.Count - 1 do
      begin
        try
          writeln(Q.Fields[Col].DisplayLabel + ':');
          writeln(Q.Fields[Col].AsString);
        except
          writeln('Error retrieving field ', Col);
        end;
      end;
      Q.Next;
    end;
    Q.Close;
    // *END EXAMPLE BUG TESTING CODE*
    Conn.Close;
  finally
    Q.Free;
    Tran.Free;
    Conn.Free;
  end;
  writeln('Program complete. Press a key to continue.');
  readln;
end.

---------------
Второй вопрос. А что модуль только платный от 200 долларов? https://www.devart.com/odac/ordering.html