Rodrigo,
Se vc estiver utilizando sessão, dentro da sessão o autocommit é
desligado por default, e vc precisa confirmar a transação com o
SqlCommitSession. Fora da sessão o autocommit é ligado por padrão. Veja
exemplo do manual:
Set SqlDatabase = 'oradb'
Set SqlUser = 'sysadm'
Set SqlPassword = 'sysadm'
Call SqlCreateSession(hSession, "Provider=OraOLEDB.Oracle;")
Call SqlCreateStatement(hSession, hSql)
If SqlPrepareAndExecute(hSql, 'INSERT INTO INVOICE_MASTER
(INVOICE_ID, CLIENT_NAME, INVOICE_DATE) VALUES
(next_invoice_id, i_client_name, i_invoice_date)')
Call SqlCommitSession(hSession)
Else
Call SqlRollbackSession(hSession)
Call SqlFreeSession(hSession)
Sds,
Erasmo
--
Erasmo Bispo de Oliveira Junior
Gerente de Pesquisa e Desenvolvimento
Softway - Softcomex Informática Ltda.
Pabx: +55 (19) 3739.9200
Direto: +55 (19) 3739.9361
Fax: +55 (19) 3739.9240
e-mail: [EMAIL PROTECTED]
web: http://www.softcomex.com.br
Rodrigo Scarano - Target Sistemas wrote:
Ricardo,
Aqui utilizamos a função SqlSetParameter( hSql, DBP_AUTOCOMMIT, TRUE,
STRING_Null ) com o SQLServer (ODBC) e funciona corretamente.
Sds, Rodrigo.
-----Mensagem original-----
*De:* [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
*Em nome de *Ricardo Gomes
*Enviada em:* quarta-feira, 13 de junho de 2007 12:02
*Para:* sqlwin@virtualand.net
*Assunto:* Re: [sqlwin] conectando com Oracle usando OLEDB
Pessoal, consegui fazer a conexão com oracle usando OLEDB. Agora, como
faço para desligar o autocommit quando faço conexão via OLEDB? Usei a
função SqlSetParameter e não funcionou...
Obrigado.
Ricardo.
----- Original Message -----
*From:* Ricardo Gomes <mailto:[EMAIL PROTECTED]>
*To:* sqlwin@virtualand.net <mailto:sqlwin@virtualand.net>
*Sent:* Wednesday, June 13, 2007 11:14 AM
*Subject:* [sqlwin] conectando com Oracle usando OLEDB
Alguém pode, por gentileza, me passar um exemplo de string de
conexão informada no segundo parâmetro da função SqlCreateSession
para conectar com Oracle?
Obrigado.
Ricardo.
----- Original Message -----
*From:* José Augusto Sabino de Oliveira
<mailto:[EMAIL PROTECTED]>
*To:* sqlwin@virtualand.net <mailto:sqlwin@virtualand.net>
*Sent:* Wednesday, June 13, 2007 10:27 AM
*Subject:* [sqlwin] RES: [sqlwin] Re: [sqlwin] RES: [sqlwin]
chamando função SqlCommit quando conectado em Oracle
De uma olhada se existe essa função na sua versão:
SqlConnectTransaction( Sql_Handle, String )
O SqlCommit funciona dessa forma:
Commits all of the SQL transaction's cursors that are
connected to the same database.
Note: To prevent destroying a cursor's result set when a
COMMIT is performed, turn on cursor context preservation by
calling SqlSetParameter and setting the DBP_PRESERVE parameter
to TRUE.
-----Mensagem original-----
*De:* [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] *Em nome de *Ricardo Gomes
*Enviada em:* quarta-feira, 13 de junho de 2007 09:08
*Para:* sqlwin@virtualand.net
*Assunto:* [sqlwin] Re: [sqlwin] RES: [sqlwin] chamando função
SqlCommit quando conectado em Oracle
José Augusto, acho que essas funções não existem no CTD 1.5.1,
que é a versão que uso atualmente...
Mais alguma outra idéia?
Obrigado.
Ricardo.
----- Original Message -----
*From:* José Augusto Sabino de Oliveira
<mailto:[EMAIL PROTECTED]>
*To:* sqlwin@virtualand.net <mailto:sqlwin@virtualand.net>
*Sent:* Wednesday, June 13, 2007 7:01 AM
*Subject:* [sqlwin] RES: [sqlwin] chamando função
SqlCommit quando conectado em Oracle
De uma olhada nessas funções: SqlCreateSession e
SqlCommitSession...
-----Mensagem original-----
*De:* [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
[mailto:[EMAIL PROTECTED] *Em nome de *Ricardo
Gomes
*Enviada em:* terça-feira, 12 de junho de 2007 16:29
*Para:* sqlwin@virtualand.net <mailto:sqlwin@virtualand.net>
*Assunto:* [sqlwin] chamando função SqlCommit quando
conectado em Oracle
Pessoal, percebi um comportamento indesejado ao utilizar
SqlCommit em minha aplicação quando conectado a banco de
dados Oracle. Quando chamo a função SqlCommit, passando um
handle como parâmetro, espero que sejam "commitados" todos
os comandos executados sobre esse handle. Diferentemente
do que acontece quando conectado a SQLSERVER, por exemplo,
quando chamo o SqlCommit TODOS OS HANDLES CONECTADOS PELA
MINHA APLICAÇÃO SÃO "COMMITADOS", ao invés de "commitar" o
handle passado como parâmetro. Esse comportamento tem como
ser alterado? O que posso fazer?
Obrigado.
Ricardo.