Hello Maciej,

Please, have attached a code we are use to construct an oracle sql-query.
At the moment we don't use PL/SQL and it is ok for us to get (for this query 
about 3000 samples /second)

Many thanks and regards,

Anna 








-----Ursprüngliche Nachricht-----
Von: Maciej Sobczak [mailto:[email protected]] 
Gesendet: Montag, 22. Juni 2009 11:43
An: General-purpose list for SOCI users.
Betreff: Re: [SOCI-users] soci with oracle client installation (10g)

Hello,

Pitaev, Anna wrote:

> I get a very bad performance by oracle bulk insert operation: 200 
> samples per second.
> 
> For the same oracle 10g(server) configuration using jdbc-thin-Driver : 
> it is  about 3000 samples per second.

Could you please send a short code example showing how you do this?

> Is it possible to use soci with Oracle Database Instant Client 
> http://www.oracle.com/technology/tech/oci/instantclient/index.html ?

I think so. According to this webpage, OCI applications are supposed to 
work without modifications and OCI is a basis for SOCI.

Regards,

-- 
Maciej Sobczak * www.msobczak.com * www.inspirel.com

------------------------------------------------------------------------------
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
_______________________________________________
Soci-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/soci-users



Please help Logica to respect the environment by not printing this email  / 
Pour contribuer comme Logica au respect de l'environnement, merci de ne pas 
imprimer ce mail /  Bitte drucken Sie diese Nachricht nicht aus und helfen Sie 
so Logica dabei die Umwelt zu schuetzen  /  Por favor ajude a Logica a 
respeitar o ambiente nao imprimindo este correio electronico.



This e-mail and any attachment is for authorised use by the intended 
recipient(s) only. It may contain proprietary material, confidential 
information and/or be subject to legal privilege. It should not be copied, 
disclosed to, retained or used by, any other party. If you are not an intended 
recipient then please promptly delete this e-mail and any attachment and all 
copies and inform the sender. Thank you.

             if (buffer->getSize() > 0)
                        {


                             for (int i = 0; i < buffer->getSize(); i++)
                                {


                                        ParameterValue value = 
(ParameterValue)buffer->getValue(i);

                                        std::map<std::string, int>::iterator 
iter;
                                        iter = m_pidMap.find(value.name);
                                        if (iter == m_pidMap.end())
                                        {
                                                pidUpdater(value.name);
                                                iter = 
m_pidMap.find(value.name);
                                        }

                                        // The parameter name can not be found 
in data base
                                        //      => the dynamic parameter cannot 
be stored
                                        if (iter == m_pidMap.end())
                                        {
                                                std::cout << "Parameter " << 
value.name << " cannot be stored because the name is unknown.\n";
                                        }
                                        else
                                        {
                                                std::stringstream out;
                                                out << iter->second;

// bulk insert
                                                values += " select ";
                                                values += out.str();
                                                values += ",";
                                                values += value.genTime;
                                                values += ",";
                                                if (buffer->getType() == 
DASN_TYPE_STRING) values += "'";
                                                values += value.value;
                                                if (buffer->getType() == 
DASN_TYPE_STRING) values += "'";
                                                values += ",";
                                                values += value.storageTime;
                                                values += ",";
                                                values += value.validity;
                                                values += " from dual ";
                                                if (i < buffer->getSize() -1) 
values += " union all ";
                            }
                }
                 std::string statement = " INSERT INTO " + 
buffer->getTableName();
                              statement += " 
(PID,GENTIME,VALUE,STORAGETIME,VALIDITY)   " + values;
                // Insert the buffer to the data base
                
                  if ( m_sql == NULL ) std::cout << "m_sql is NULL!!";

                   *m_sql << statement;


                   m_sql->commit();

------------------------------------------------------------------------------
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
_______________________________________________
Soci-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/soci-users

Reply via email to