dbx Firebird 2 connection

Help
tao lin
2009-02-18
2013-05-01
  • tao lin

    tao lin - 2009-02-18

    Hi,

    I am using Delphi 2009, dbxoodbc_version_3_206_at_2008, IBPhoenix Open Source ODBC Driver v2.0 RC1 and Firebird 2.1 database server.

    I have no idea how to connect to my Firebird database with dbxoodbc.

    My connection string like this:

    drivername=DBXWIBPHOENIX;dbxwibphoenix transisolation=ReadCommited;database=/var/local/data/crazy.gdb;client=C:\Windows\System32\fbclient.DLL;dbname=fbserver:/var/local/data/crazy.gdb;uid=SYSDBA;user_name=sysdba;hostname=fbserver

    When I try to connect from Data Explorer, I am always get follow error:

    System.Runtime.InteropServices.SEHException: External component has thrown an exception.

    Can any one give me some suggestions please?

    Cheers,

    Tao

     
    • tao lin

      tao lin - 2009-02-18

      Ok, now I change the SQLConnection property as follow:

        object SQLConnection1: TSQLConnection
          DriverName = 'DbxWIBPhoenix'
          GetDriverFunc = 'getSQLDriverODBCW'
          LibraryName = 'dbxoodbc.dll'
          LoadParamsOnConnect = True
          Params.Strings = (
            'Database=DSN=IRH_FB'
            'User_Name=sysdba'
            'Password=masterkey')
          VendorLib = 'ODBCFB.DLL'
          Left = 120
          Top = 112
        end

      The IRH_FB is a ODBC User DSN which I setup on windows ODBC Data Source Administrator. And it works fine by testing connection. But when I try to connect the SQLConnection, it return follow error by Delphi 2009:

      Invalid argument: .

      [0D96CEDD]{DbxCommonDriver120.bpl} Dbxcommon.TDBXContext.Error + $51
      [0D9649F8]{DbxCommonDriver120.bpl} Dbxcommon.TDBXConnectionFactory.GetConnectionPropertiesItem + $64
      [0D964986]{DbxCommonDriver120.bpl} Dbxcommon.TDBXConnectionFactory.GetConnectionProperties + $A
      [50AB883A]{dbexpress120.bpl} SqlExpr.TSQLConnection.DoConnect (Line 2486, "..\..\..\..\..\src\pas\dbx\vcl\SqlExpr.pas" + 11) + $10
      [50483579]{dbrtl120.bpl} DB.TCustomConnection.SetConnected (Line 3064, "DB.pas" + 8) + $4
      [5003F57A]{rtl120.bpl  } TypInfo.SetOrdProp (Line 1502, "TypInfo.pas" + 27) + $0
      [20B9ACF2]{designide120.bpl} DesignEditors.TPropertyEditor.SetOrdValue (Line 838, "DesignEditors.pas" + 2) + $E
      [20B9BDFB]{designide120.bpl} DesignEditors.TEnumProperty.SetValue (Line 1398, "DesignEditors.pas" + 5) + $4
      [20B9A961]{designide120.bpl} DesignEditors.TPropertyEditor.Edit (Line 668, "DesignEditors.pas" + 11) + $14
      [208AAFDA]{coreide120.bpl} PropInsp.TPropertyInspector.PropListEditDblClick (Line 882, "PropInsp.pas" + 20) + $5
      [20C87371]{vclide120.bpl} IDEInspListBox.TInspListBox.DoEditDblClick (Line 976, "IDEInspListBox.pas" + 2) + $A
      [20C88BB2]{vclide120.bpl} IDEInspListBox.TInspListBox.EditDblClick (Line 1546, "IDEInspListBox.pas" + 0) + $2
      [501D1195]{vcl120.bpl  } Controls.TControl.DblClick (Line 6763, "Controls.pas" + 1) + $14
      [501D12F8]{vcl120.bpl  } Controls.TControl.WMLButtonDblClk (Line 6806, "Controls.pas" + 4) + $C
      [501D0C0E]{vcl120.bpl  } Controls.TControl.WndProc (Line 6642, "Controls.pas" + 91) + $6
      [501D529B]{vcl120.bpl  } Controls.TWinControl.WndProc (Line 9336, "Controls.pas" + 136) + $6
      [501DD25A]{vcl120.bpl  } Controls.TDockTree.WndProc (Line 14469, "Controls.pas" + 74) + $5
      [500477CC]{rtl120.bpl  } Classes.TThreadList.UnlockList (Line 3781, "Classes.pas" + 0) + $4
      [5012C8FC]{vcl120.bpl  } Graphics.FreeMemoryContexts (Line 6830, "Graphics.pas" + 12) + $5
      [501D49B4]{vcl120.bpl  } Controls.TWinControl.MainWndProc (Line 9065, "Controls.pas" + 3) + $6
      [501D4BF4]{vcl120.bpl  } Controls.TWinControl.IsControlMouseMsg (Line 9129, "Controls.pas" + 9) + $25
      [501D529B]{vcl120.bpl  } Controls.TWinControl.WndProc (Line 9336, "Controls.pas" + 136) + $6
      [20C86513]{vclide120.bpl} IDEInspListBox.TPropInspEdit.WndProc (Line 439, "IDEInspListBox.pas" + 7) + $4
      [501D49B4]{vcl120.bpl  } Controls.TWinControl.MainWndProc (Line 9065, "Controls.pas" + 3) + $6
      [50058938]{rtl120.bpl  } Classes.StdWndProc (Line 12723, "Classes.pas" + 8) + $0
      [501FB05D]{vcl120.bpl  } Forms.TApplication.StopHintTimer (Line 10343, "Forms.pas" + 3) + $6
      [501F9EC7]{vcl120.bpl  } Forms.TApplication.ProcessMessage (Line 9613, "Forms.pas" + 23) + $1
      [501F9F0A]{vcl120.bpl  } Forms.TApplication.HandleMessage (Line 9643, "Forms.pas" + 1) + $4
      [501FA235]{vcl120.bpl  } Forms.TApplication.Run (Line 9780, "Forms.pas" + 26) + $3
      [004259D2]{bds.exe     } bds.bds (Line 196, "" + 7) + $7
      ==========================================================

      Any idea?

      Cheers,

      Tao

       
    • Vadim V.Lopushansky

      The error is found inwardly $(DELPHI)\Bin\dbxint30.dll - not all parameters TSQLConnection are sent in dbxoodbc.dll.
      You this can see when add to your project module DbxOpenOdbcStatic.pas and debug breakpoints in DbxOpenOdbc.pas.
      I think that for Delphi 2007 follows to realize support DBX4.

       
    • tao lin

      tao lin - 2009-02-18

      Hi Vadim,

      Thanks for your reply.

      Sorry, I don't really understand what you mean.  Do you mean Delphi 2009 don't support DBX3?

      I am using Delphi 2009, which should support DBX4 very well. And in my understanding, dbxoodbc_version_3_206_at_2008 should support Delphi 2009 too.  If dbxodbc do support D2009, could you give some D2009 example code well?

      Cheers,

      Tao

       
  • Vadim V.Lopushansky

    version 3.210

     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks