[Freeswitch-users] Spidermonkey ODBC
Jonas Gauffin
jonas.gauffin at gmail.com
Tue Feb 19 14:01:56 EST 2008
how does odbc work in linux/unix? In windows, each database engine provides
their own driver which made it simple to check which database it is.
Are there an universal driver in linux, or can I just add the name of the
firebird linux driver?
On Feb 19, 2008 7:38 PM, Anthony Minessale <anthmct at yahoo.com> wrote:
> is there some universal ansi sql stmt that is small and harmless
> but is supported by everything? to replace "select 1"
>
>
>
> Anthony Minessale II
>
> FreeSWITCH http://www.freeswitch.org/
> ClueCon http://www.cluecon.com/
>
> AIM: anthm
> MSN:anthony_minessale at hotmail.com
> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
> IRC: irc.freenode.net #freeswitch
>
> FreeSWITCH Developer Conference
> sip:888 at conference.freeswitch.org
> iax:guest at conference.freeswitch.org/888
> googletalk:conf+888 at conference.freeswitch.org
> pstn:213-799-1400
>
>
> ----- Original Message ----
> From: David Revill <davidrevill at datarun.co.uk>
> To: freeswitch-users at lists.freeswitch.org
> Sent: Tuesday, February 19, 2008 6:56:31 AM
> Subject: Re: [Freeswitch-users] Spidermonkey ODBC
>
> One way to detect firebird would be to put the 'Select first 1 * from
> RDB$relations' into switch_odbc_handle_connect. If it succeeds then it is
> Firebird. A better query might be 'select * from rdb$database' as the system
> table rdb$database only ever has 1 record.
>
> ----- Original Message -----
> *From:* Jonas Gauffin <jonas.gauffin at gmail.com>
> *To:* freeswitch-users at lists.freeswitch.org
> *Sent:* Tuesday, February 19, 2008 12:18 PM
> *Subject:* Re: [Freeswitch-users] Spidermonkey ODBC
>
> I''ve only tested it with firebird on windows. As you said, your driver
> name doesnt match any of the names I used to detect if it's firebird.
>
> The problem is that most databases supports "SELECT 1" as a query. It will
> always be successful if the the connection is up. However, firebird did not
> support "SELECT 1" and therefore i did query the system database instead.
>
> If the firebird check fails, it will try to invoke "SELECT 1", and on
> firebird that query will fail. And the failure is interpreted as the
> connection is down, and therefore it tries to reconnect.
>
> That's probably why you get that error. If you have any other idea on how
> I can detect if it's a firebird db, please let me know and i'll fix the odbc
> code.
>
> On Feb 19, 2008 1:05 PM, David Revill <davidrevill at datarun.co.uk> wrote:
>
> > That's a fair point, but db_is_up is only called in 2 places and the
> > attempted re-connect could be done if the exec'd query fails. That way it
> > would not be dependant on the name of the driver.
> >
> > In my application, the database was queried at the beginning of the
> > script and the connection closed. It was explicitly re-connected at the end
> > to post data, so the connection timeout was not an issue.
> >
> > ----- Original Message -----
> > *From:* Jonas Gauffin <jonas.gauffin at gmail.com>
> > *To:* freeswitch-users at lists.freeswitch.org
> > *Sent:* Tuesday, February 19, 2008 10:35 AM
> > *Subject:* Re: [Freeswitch-users] Spidermonkey ODBC
> >
> > I did that code a couple of months ago.
> > The function was added since connections are closed if they are idle too
> > long, and they were not reconnected again if that happened.
> >
> >
> > On Feb 19, 2008 11:22 AM, David Revill <davidrevill at datarun.co.uk>
> > wrote:
> >
> > > The problem is in switch_odbc.c function db_is_up. It assumes that
> > > the variable is_firebird is true, but the setting of this variable assumes
> > > that the Firebird driver name has 'FIREBIRD', 'FB64' or 'FB32' in it.
> > >
> > > I commented out the code in db_is_up and just returned a true value,
> > > as on closer inspection could not see the point of this function.
> > >
> > > David Revill
> > >
> > > ----- Original Message -----
> > > *From:* David Revill <davidrevill at datarun.co.uk>
> > > *To:* freeswitch-users at lists.freeswitch.org
> > > *Sent:* Tuesday, February 19, 2008 8:58 AM
> > > *Subject:* Re: [Freeswitch-users] Spidermonkey ODBC
> > >
> > > I spotted this error a few months ago, and to my shame did not let
> > > everyone know. I have since archived the project so cannot point you to the
> > > actual code. However, the problem is that it assumes the name of the
> > > Firebird Driver (FB64?) to set a boolean, so that it handle the connection
> > > test differently.
> > >
> > > When looking at the actual code, I actually felt that the connection
> > > test was redundant, as all it did was a select from a system table. This
> > > meant it was doing two queries for everyone required. (One to see if it
> > > could do a query, and then one to do it). I therefore commented the
> > > connection test function out.
> > >
> > > regards
> > >
> > > David Revill
> > >
> > > ----- Original Message -----
> > > *From:* Steven Brown <steven.brown at justfone.com>
> > > *To:* freeswitch-users at lists.freeswitch.org
> > > *Sent:* Monday, February 18, 2008 11:34 PM
> > > *Subject:* [Freeswitch-users] Spidermonkey ODBC
> > >
> > > Hi,
> > >
> > > I'm experimenting with spidermonkey for JavaScript call control, the
> > > basics seem fine and I'm now trying to connect to an existing Firebird
> > > database, the Firebird odbc lib is installed ok as is unixODBC and I can
> > > confirm this and access the db no problem with isql, something strange
> > > happens though when I connect in spidermonkey, basically the odbc connection
> > > is made successfully, but then as soon as I call either exec or query the
> > > odbc connection starts to drop and re-connect continuously,
> > >
> > > the isql output is below
> > >
> > > isql -v test
> > > +---------------------------------------+
> > > | Connected! |
> > > | |
> > > | sql-statement |
> > > | help [tablename] |
> > > | quit |
> > > | |
> > > +---------------------------------------+
> > > SQL> select first 1 * from pool_phones
> > > +---------------------+------------+
> > > | GSMNO | ORGNO |
> > > +---------------------+------------+
> > > | 0712345678 | 1 |
> > > +---------------------+------------+
> > > SQLRowCount returns 1
> > > 1 rows fetched
> > > SQL>
> > > however the following test code calling the same query
> > >
> > > use("ODBC");
> > > var db = new ODBC("test","SYSDBA","masterkey");
> > > db.connect();
> > > db.query("select first 1 * from pool_phones");
> > > db.nextRow();
> > > row = db.getData();
> > > console_log("INFO","HELLO " + row["GSMNO"] + "\n");
> > > exit();
> > >
> > > gives the following output and then just loops disconnecting and
> > > reconnecting until I shutdown freeswitch
> > > 2008-02-18 23:26:03 [DEBUG] switch_core_state_machine.c:144
> > > switch_core_standard_on_execute() sofia/default/1000 at 192.168.0.7:5060Execute javascript(/usr/scripts/test1.js)
> > > 2008-02-18 23:26:03 [DEBUG] mod_spidermonkey.c:3150 js_api_use()
> > > Loading ODBC
> > > 2008-02-18 23:26:03 [DEBUG] switch_odbc.c:145
> > > switch_odbc_handle_connect() Connecting test
> > > 2008-02-18 23:26:03 [DEBUG] switch_odbc.c:174
> > > switch_odbc_handle_connect() Connected to [test]
> > > 2008-02-18 23:26:03 [DEBUG] switch_odbc.c:95
> > > switch_odbc_handle_disconnect() Disconnected 0 from [test]
> > > 2008-02-18 23:26:03 [DEBUG] switch_odbc.c:142
> > > switch_odbc_handle_connect() Re-connecting test
> > > 2008-02-18 23:26:03 [DEBUG] switch_odbc.c:145
> > > switch_odbc_handle_connect() Connecting test
> > > 2008-02-18 23:26:03 [DEBUG] switch_odbc.c:174
> > > switch_odbc_handle_connect() Connected to [test]
> > > 2008-02-18 23:26:03 [CRIT] switch_odbc.c:234 db_is_up() The sql server
> > > is not responding for DSN test []
> > > 2008-02-18 23:26:03 [INFO] switch_odbc.c:239 db_is_up() The connection
> > > has been re-established
> > > ...
> > >
> > > Any ideas much appreciated
> > >
> > > Thanks
> > >
> > > Steve
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > _______________________________________________
> > > Freeswitch-users mailing list
> > > Freeswitch-users at lists.freeswitch.org
> > > http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> > > UNSUBSCRIBE:
> > > http://lists.freeswitch.org/mailman/options/freeswitch-users
> > > http://www.freeswitch.org
> > >
> > > _______________________________________________
> > > Freeswitch-users mailing list
> > > Freeswitch-users at lists.freeswitch.org
> > > http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> > > UNSUBSCRIBE:
> > > http://lists.freeswitch.org/mailman/options/freeswitch-users
> > > http://www.freeswitch.org
> > >
> > >
> > > _______________________________________________
> > > Freeswitch-users mailing list
> > > Freeswitch-users at lists.freeswitch.org
> > > http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> > > UNSUBSCRIBE:
> > > http://lists.freeswitch.org/mailman/options/freeswitch-users
> > > http://www.freeswitch.org
> > >
> > >
> > _______________________________________________
> > Freeswitch-users mailing list
> > Freeswitch-users at lists.freeswitch.org
> > http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> > UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> > http://www.freeswitch.org
> >
> >
> > _______________________________________________
> > Freeswitch-users mailing list
> > Freeswitch-users at lists.freeswitch.org
> > http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> > UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> > http://www.freeswitch.org
> >
> >
> _______________________________________________
> Freeswitch-users mailing list
> Freeswitch-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>
>
> -----Inline Attachment Follows-----
>
> _______________________________________________
> Freeswitch-users mailing list
> Freeswitch-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>
> ------------------------------
> Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it
> now.<http://us.rd.yahoo.com/evt=51733/*http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ>
>
> _______________________________________________
> Freeswitch-users mailing list
> Freeswitch-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20080219/aee0fd28/attachment-0001.html
More information about the Freeswitch-users
mailing list