Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
646
Assunto : ADO.NET
Titulo: Com o provider do OLEDB, utilize commandtype.Text

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon


Para chamarmos uma stored procedure no servidor de banco normalmente utilizamos o objeto command e definimos o commandtype como storedproc.

Porém quando isso é feito com o Data Provider do OLEDB o que o OLEDB faz é transformar o nome da procedure que configuramos no CommandText na síntaxe do ODBC para chamada de procedures (Calma ! Ele não vai usar ODBC, só a síntaxe!).

O mal disso é que essa transformação do nome da procedure para a síntaxe ODBC gasta um tempinho (muito pouco, mas gasta), então se desejarmos uma otimização neste ponto podemos utilizar o commandtype.text e utilizarmos a síntaxe odbc diretamente no commandText. Usando a síntaxe ODBC diretamente, o provider do OLEDB não terá o trabalho de converter a síntaxe.

Veja um exemplo :


Dim cmd As New OleDb.OleDbCommand("Call CustOrderHist(?)", CN)
Dim dr As OleDb.OleDbDataReader
cmd.CommandType = CommandType.Text
cmd.Parameters.Add("@CustomerID", OleDb.OleDbType.Char, 5)
cmd.Parameters("@CustomerID").Value = "ALFKI"
CN.Open()

dr = cmd.ExecuteReader


Já com o Data Provider do SQL Server ocorre justamente o contrário : Temos um overhead de performance se usarmos o commandtype.text, devemos estar usando o commandtype.storedproc.


Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
Nenhum comentário foi realizado ainda. Seja o primeiro !
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br