Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os parâmetros são marcados no texto de comando com o caractere de ponto de interrogação. Por exemplo, a seguinte instrução SQL é marcada para um único parâmetro de entrada:
{call SalesByCategory('Produce', ?)}
Para melhorar o desempenho reduzindo o tráfego de rede, o provedor OLE DB do SQL Server Native Client não deriva automaticamente informações de parâmetro, a menos que ICommandWithParameters::GetParameterInfo ou ICommandPrepare::P repare seja chamado antes de executar um comando. Isso significa que o provedor OLE DB do SQL Server Native Client não automaticamente:
Verifique a correção do tipo de dados especificado com ICommandWithParameters::SetParameterInfo.
Mapeie do DBTYPE especificado nas informações de associação do acessador para o tipo de dados correto do SQL Server para o parâmetro.
Os aplicativos receberão possíveis erros ou perda de precisão com qualquer um desses métodos se especificarem tipos de dados que não são compatíveis com o tipo de dados do SQL Server do parâmetro.
Para garantir que isso não aconteça, o aplicativo deve:
Verifique se pwszDataSourceType corresponde ao tipo de dados do SQL Server para o parâmetro se iCommandWithParameters de codificação rígida::SetParameterInfo.
Verifique se o valor DBTYPE associado ao parâmetro é do mesmo tipo que o tipo de dados do SQL Server para o parâmetro se codificar um acessador.
Codificar o aplicativo para chamar ICommandWithParameters::GetParameterInfo para que o provedor possa obter os tipos de dados do SQL Server dos parâmetros dinamicamente. Observe que isso causa uma viagem de ida e volta de rede extra para o servidor.
Observação
O provedor não dá suporte à chamada ICommandWithParameters::GetParameterInfo para qualquer instrução SQL Server UPDATE ou DELETE que contenha uma cláusula FROM; para qualquer instrução SQL, dependendo de uma subconsulta que contenha parâmetros; para instruções SQL que contêm marcadores de parâmetro em ambas as expressões de uma comparação, como ou predicado quantificado; ou consultas em que um dos parâmetros é um parâmetro para uma função. Ao processar um lote de instruções SQL, o provedor também não dá suporte à chamada de ICommandWithParameters::GetParameterInfo para marcadores de parâmetro em instruções após a primeira instrução no lote. Os comentários (/* */) não são permitidos no comando Transact-SQL.
O provedor OLE DB do SQL Server Native Client dá suporte a parâmetros de entrada em comandos de instrução SQL. Em comandos de chamada de procedimento, o provedor OLE DB do SQL Server Native Client dá suporte a parâmetros de entrada, saída e entrada/saída. Os valores de parâmetro de saída são retornados ao aplicativo na execução (somente se não houver conjuntos de linhas retornados) ou quando todos os conjuntos de linhas retornados são esgotados pelo aplicativo. Para garantir que os valores retornados sejam válidos, use IMultipleResults para forçar o consumo do conjunto de linhas.
Os nomes dos parâmetros de procedimento armazenado não precisam ser especificados em uma estrutura DBPARAMBINDINFO. Use NULL para o valor do membro pwszName para indicar que o provedor OLE DB do SQL Server Native Client deve ignorar o nome do parâmetro e usar apenas o ordinal especificado no membro rgParamOrdinals de ICommandWithParameters::SetParameterInfo. Se o texto do comando contiver parâmetros nomeados e não nomeados, todos os parâmetros não nomeados deverão ser especificados antes de quaisquer parâmetros nomeados.
Se o nome de um parâmetro de procedimento armazenado for especificado, o provedor OLE DB do SQL Server Native Client verificará o nome para garantir que ele seja válido. O provedor OLE DB do SQL Server Native Client retorna um erro quando recebe um nome de parâmetro incorreto do consumidor.
Observação
Para expor o suporte para o SQL Server XML e os tipos definidos pelo usuário (UDT), o provedor OLE DB do SQL Server Native Client implementa uma nova interface ISSCommandWithParameters .