Конференция "Базы" » перенос текстовых данных с Дельфи формы в таблицу Oracle [D7]
 
  • ssa (12.11.08 15:54) [20]
    Connected to:
    Oracle8i Release 8.1.7.4.1

    через

       DataSource1: TDataSource;
       Query1: TQuery;
       Table1: TTable;
    если указываю альяс для таблиц Paradox35
    все срабатывает - вот фрагмент программы:
    ...
    procedure TForm1.QurPsk(TmpIn:String);
    begin
       if Query1.State <> dsInactive  then
      Query1.close;
      Query1.SQL.Clear;
      Query1.SQL.Add(TmpIn);
      try
      if not Query1.Prepared then
      begin
       Query1.Unidirectional:=True;
       Query1.Prepare;
       end;
     Query1.ExecSQL;
     showmessage('insert');
     except
     on EDBEngineError do
     begin showmessage('Запрос не выполнен !'); end;
     end ;
    end;

    procedure TForm1.Button10Click(Sender: TObject);
    begin
       TmpIn:='INSERT INTO W_ALL.DB(RN,COMPANY,DOCPREF,DOCNUMB,'+
            'W_T, W_B, D_T, D_B, U_T, U_B, WM, TR, NOMEN,AGN)'+
     ' VALUES(' +
             '8'+Edit1.Text        +','+         //RN
             '17100001'            +','+         //COMPANY
     '"'+    Edit2.Text        +'"'+','+         //DOCPREF
     '"'+    Edit1.Text        +'"'+','+         //DOCNUMB
             Edit5.Text            +','+         //W_T
             Edit6.Text            +','+         //W_B
     '"'+    DateToStr(now)    +'"'+','+         //D_T
     '"'+    DateToStr(now)    +'"'+','+         //D_T
     '"'+    'VESOVAYA3'       +'"'+','+         //U_T
     '"'+    'VESOVAYA3'       +'"'+','+         //U_B
     '"'+    'Автовесы №3'     +'"'+','+         //WM
     '"'+    Edit2.Text        +'"'+','+         //TR
     '"'+    ComboBox2.Text    +'"'+','+         //NOMEN
     '"'+    ComboBox1.Text    +'"'+')';         //AGN}
    Form1.QurPsk(TmpIn);

    end;
    ...

    но хотелось скидывать эту информацию в БД Oracle8i Release 8.1.7.4.1
  • MsGuns © (12.11.08 16:01) [21]
    Какое отношение [20] имеет к сабжу ?
    К тому же код ужасный как по форме, так и по содержанию
  • ssa (12.11.08 16:35) [22]
    [20] - пример переноса текстовых данных с д7 в парадох 35 таблицы,
    если указываю альяс оракловый и оракловую таблицу в Table1,
    то не могу приконнектиться к БД Oracle - ошибка ORA-01012 not logged on
    компоненты для соединения используются следующие
      DataSource1: TDataSource;
      Query1: TQuery;
      Table1: TTable;
  • MsGuns © (12.11.08 22:35) [23]
    Попробуйте открыть БД через SQL Explorer, используя созданный оракловый алиас
  • ssa (13.11.08 06:15) [24]
    БД через SQL Explorer открывается нормально
  • Sergey13 © (13.11.08 08:19) [25]
    > [20] ssa   (12.11.08 15:54)

    > if Query1.State <> dsInactive  then
    >  Query1.close;
    >  Query1.SQL.Clear;
    > Query1.SQL.Add(TmpIn);
    >  try
    >  if not Query1.Prepared then
    >  begin
    >   Query1.Unidirectional:=True;
    >   Query1.Prepare;
    >   end;
    > Query1.ExecSQL;

    Попробуй сократить до

    Query1.SQL.Text=TmpIn;
     try
    Query1.ExecSQL;
  • Petr V. Abramov © (13.11.08 10:58) [26]

    > ssa   (12.11.08 16:35) [22]


    > компоненты для соединения используются следующие
    >   DataSource1: TDataSource;
    >   Query1: TQuery;
    >   Table1: TTable;

    попробуй Query8, должно сработать.
    коннектишься через BDE? dbExpress?
  • ssa (13.11.08 15:01) [27]
    через BDE
  • ssa (13.11.08 15:04) [28]
    попробуй Query8, должно сработать.
    коннектишься через BDE? dbExpress?

    <Цитата>
    Query8 ?
    D8 - восьмая версия Делфи или?
  • ssa (13.11.08 15:09) [29]
    Может быть вставка не срабатывает, тк в оракловой таблице , если смотреть в девелопере есть последний столбик t.rowid ,не относящийся к структуре таблицы zl_weight_all (select t.*, t.rowid from zl_weight_all t)
    ???
  • ssa (13.11.08 15:15) [30]
    procedure TForm1.Button3Click(Sender: TObject);
    begin
    TmpIn:='DELETE FROM PARUS.ZL_WEIGHT_ALL';
    Form1.QurPsk(TmpIn);
    end;

    не срабатывает даже при

    procedure TForm1.QurPsk(TmpIn:String);
    begin
      showmessage(TmpIn);
      Query1.SQL.Text:=TmpIn;
    try
    Query1.ExecSQL;
     except
     on EDBEngineError do
     begin showmessage('Запрос не выполнен !'); end;
     end ;
    end;

    а в экплоеере DELETE FROM PARUS.ZL_WEIGHT_ALL  работает
  • Petr V. Abramov © (13.11.08 23:54) [31]

    > через BDE

    коннекться не через BDE, я  этот глюкавнике не разбираюсь
  • Petr V. Abramov © (13.11.08 23:56) [32]

    > Petr V. Abramov ©   (13.11.08 23:54) [31]

    хотя твое "неработанье" с глюками BDE не связано (скорее всего), читай внимательно про TDatabase, TDataset, какие у них есть св-ва и нафих они нужны
  • ssa (14.11.08 08:44) [33]
    меняю оракловый альяс на альяс БД PDX35 - все начинает работать

    сам оракл без бде работает (ODBC)
    соединения через оракловые службы, tns listener и тд
    но у базы есть альяс в бде
  • ssa (17.11.08 11:51) [34]
    Petr V. Abramov ©   (13.11.08 23:54) [31]

    > через BDE

    коннекться не через BDE, я  этот глюкавнике не разбираюсь

    <Цитата>
    BDE точно глюкавник
    получилось соединиться с СУБД Oracle 8.1.7.4 через ADO !!!
    типа:
    procedure TForm1.Button4Click(Sender: TObject);
    begin

    with ADOQuery1 do begin
    Open;
    Append;
    try SimpleDataSet1.Active := false;
    SimpleDataSet1.DataSet.Active := false;
    SimpleDataSet1.DataSet.CommandText :=
    'insert into parus.ssa_books2(NDOC,AGN,TR,NOMEN,WT,WB) values ( ' +
    '''' +  Edit2.Text + ''', ' +
    '''' +  Edit3.Text + ''', ' +
    '''' +  Edit4.Text + ''', ' +
    '''' +  Edit5.Text + ''', ' +
    '''' +  Edit6.Text + ''', ' +
    '''' +  Edit7.Text + ''')';
    SimpleDataSet1.Active := true;
    SimpleDataSet1.DataSet.Active := true;
    except
    end;
    end;

    использовались компоненты
       DataSource1: TDataSource;
       ADOConnection1: TADOConnection;
       ADOQuery1: TADOQuery;
       SimpleDataSet1: TSimpleDataSet;

    в ADOConnection1: TADOConnection;
    правильно надо выбрать провайдера , а строка подключения у меня-
    Provider=MSDAORA.1;Password=****;User ID=PARUS;Data Source=ZLAK

    спасибо всем !!!
 
Конференция "Базы" » перенос текстовых данных с Дельфи формы в таблицу Oracle [D7]
Есть новые Нет новых   [134477   +39][b:0][p:0.001]