Notas sobre o Release


49.2 Configuração do CLI/ODBC/JDBC e Definições do PATCH1 e PATCH2

O driver CLI/ODBC/JDBC pode ser configurado através do Assistente de Configuração de Cliente ou do Gerenciador de Driver ODBC (se estiver instalado no sistema), ou manualmente editando o arquivo db2cli.ini. Para mais detalhes, consulte a publicação Installation and Configuration Supplement ou o CLI Guide and Reference.

O comportamento padrão do driver DB2 CLI/ODBC pode ser modificado por meio da especificação de valores para ambas as palavras-chave, PATCH1 e PATCH2, através do arquivo db2cli.ini ou através da API CLI SQLDriverConnect() ou SQLBrowseConnect().

A palavra-chave PATCH1 é especificada por meio da inclusão de todas as palavras-chave que o usuário quer definir juntas. Por exemplo, se forem especificados patch 1, 2 e 8, o PATCH1 teria o valor 11. Esta é uma descrição do valor de cada palavra-chave e seu efeito no driver:

1
Isso faz o driver procurar por "count(exp)" e substituí-lo por "count(distinct exp)". Isso é necessário porque algumas versões do DB2 suportam a sintaxe "count(exp)" e essa sintaxe é gerada por alguns aplicativos ODBC. É necessário para aplicativos Microsoft quando o servidor não suporta a sintaxe "count(exp)".

2
Alguns aplicativos ODBC são interrompidos quando SQL_NULL_DATA é retornado na função SQLGetTypeInfo() para a coluna LITERAL_PREFIX ou LITERAL_SUFFIX. Isso força o driver a retornar uma cadeia vazia. Necessário para o Impromptu 2.0.

4
Isso força o driver a tratar os dados de entrada de data e hora como dados de data se a hora e a parte de fração da date e hora forem zero. Necessário para o Microsoft Access.

8
Isso força o driver a tratar os dados de data e hora como dados de hora se a parte de data da data e hora for 1899-12-30. Necessário para o Microsoft Access.

16
Não utilizado.

32
Isso força o driver a não retornar informações sobre as colunas SQL_LONGVARCHAR, SQL_LONGVARBINARY e SQL_LONGVARGRAPHIC. Para o aplicativo aparecer como se campos longos não fossem suportados. Necessário para o Lotus 123.

64
isso força o driver a terminar cadeias gráficas de saída com NULL. Necessário para o Microsoft Access em um ambiente de byte duplo.

128
Isso força o driver a permitir que a consulta "SELECT Config, nValue FROM MSysConf" vá para o servidor. Atualmente o driver retorna um erro com valor SQLSTATE associado igual a S0002 (tabela não encontrada). Necessário se o usuário tiver criado essa tabela de configuração no banco de dados e queira que o aplicativo a acesse.

256
Isso força o driver a retornar primeiro as colunas-chave principais na chamada SQLStatistics(). Atualmente, o driver retorna os índices ordenados pelo nome do índice, que é o comportamento padrão do ODBC.

512
Isso força o driver a retornar FALSE em SQLGetFunctions() para SQL_API_SQLTABLEPRIVILEGES e SQL_API_SQLCOLUMNPRIVILEGES.

1024
Isso força o driver a retornar SQL_SUCCESS em vez de SQL_NO_DATA_FOUND em SQLExecute() ou SQLExecDirect() se a instrução UPDATE ou DELETE executada não afetar nenhuma linha. Necessário para os aplicativos do Visual Basic.

2048
Não utilizado.

4096
Isso força o driver a não emitir um COMMIT depois de fechar um cursor quando no modo autocommit.

8192
Isso força o driver a retornar um conjunto extra de resultados depois de chamar um procedimento armazenado. Esse conjunto de resultados é um conjunto de resultados de uma linha que consiste em valores de saída do procedimento armazenado. Pode ser acessado por aplicativos Powerbuild.

32768
Isso força o driver a fazer aplicativos Microsoft Query funcionar com sinônimos do DB2 MVS.

65536
Isso força o driver a inserir manualmente um "G" na frente dos literais de caracteres que são na verdade literais gráficos. Essa correção deve ser sempre fornecida quando se estiver trabalhando em um ambiente de byte duplo.

131072
Isso força o driver a descrever uma coluna de data e hora como uma coluna CHAR(26) quando ela faz parte de um índice exclusivo. Necessário para os aplicativos Microsoft.

262144
Isso força o driver a utilizar a tabela do pseudo-catálogo db2cli.procedures em vez das tabelas SYSCAT.PROCEDURES e SYSCAT.PROCPARMS.

524288
Isso força o driver a utilizar SYSTEM_TABLE_SCHEMA em vez de TABLE_SCHEMA quando estiver fazendo uma consulta de tabela do sistema em um sistema DB2/400 V3.x. Isso resulta em melhor desempenho.

1048576
Isso força o driver a tratar uma cadeia de comprimento zero através de SQLPutData() como SQL_NULL_DATA.

A palavra-chave PATCH2 difere da palavra-chave PATCH1. Nesse caso, várias correções são especificadas com a utilização de vírgulas como separadores. Por exemplo, se forem especificadas as correções 1, 4 e 5, o PATCH2 teria o valor "1,4,5". Esta é uma descrição do valor de cada palavra-chave e seu efeito no driver:

 1 - Obriga o driver a converter o nome do procedimento armazenado
     de uma instrução CALL em maiúsculas.
 
 2 - Não utilizado.
 
 3 - Isso força o driver a converter todos os argumentos para chamadas
     de esquema para letras maiúsculas.
 
 4 - Isso força o driver a retornar a Versão 2.1.2 como conjunto de
     resultados de chamadas de esquema (ou seja, SQLColumns(),
     SQLProcedureColumns() e assim por diante ), em vez da Versão 5
     como conjunto de resultados.
 
 5 - Obriga o driver a não otimizar o processamento das colunas VARCHAR
     de entrada, em que o indicador dos dados e o indicador do comprimento
     são consecutivos na memória.
 
 6 - Isso força o driver a retornar uma mensagem que cursores deslocáveis
     não são suportados. Isso é necessário para programas do Visual Basic
     se o cliente do DB2 tiver Versão 5 e o servidor for DB2 UDB Versão 5.
 
 7 - Isso força o driver a mapear todos os tipos de dados da colune
     GRAPHIC para o tipo de dados da coluna CHAR. Isso é necessário em
     um ambiente de byte duplo.
 
 8 - Isso força o driver a ignorar argumentos de pesquisa do catálogo em
     chamadas de esquema.
 9 - Não efetua o commit em Early Close de um cursor
 10 - Não Utilizado
 11 - Relata que o nome do catálogo é suportado, (procedimentos
      armazenados VB)
 12 - Remove as aspas duplas dos argumentos da chamada do esquema,
      (Visual Interdev)
 13 - Não anexa as palavras-chave do db2cli.ini na cadeia de conexão de
      saída
 14 - Ignora o nome do esquema em SQLProcedures() e SQLProcedureColumns()
 15 - Usa sempre um ponto como separador decimal na saída do caractere
 16 - Obriga a apresentação das informações de descrição de cada abertura
 17 - Não apresenta os nomes de colunas na descrição
 18 - Tenta substituir literais por marcadores de parâmetros
 19 - Atualmente, o DB2 MVS V4.1 não suporta a sintaxe do ODBC onde
      parênteses são permitidos na cláusula ON em uma cláusula Outer join.
      Ativar esse PATCH2 fará com que o driver IBM DB2 ODBC tire
      os parênteses quando a cláusula outer join estiver em uma seqüência
      de escape do ODBC. Esse PATCH2 deve ser utilizado apenas quando
      estiver indo contra o DB2 MVS 4.1.
 20 - Atualmente, o DB2 em MVS não suporta o predicado BETWEEN com
      marcadores de parâmetros como ambos operandos (expressão ? BETWEEN ?).
      Ativar essa correção fará o Driver IBM ODBC Driver reescrever
      o predicado para (expression >= ? and expression <= ?).
 21 - Defina todos os parâmetros apenas OUTPUT dos procedimentos
      armazenados para  SQL_NULL_DATA
 22 - Esse PATCH2 faz com que o driver IBM ODBC reporte OUTER join como
      não suportado. Isso é para aplicativos que geram SELECT DISTINCT
      col1 ou ORDER BY col1 ao utilizar instruções outer join nas quais
      col1 tem comprimento maior que 24 caracteres e faz com que o DB2
      UDB retorne um erro (já que o DB2 UDB não suporta coluna maior
      de 254 bytes nesse uso)
 23 - Não otimize a entrada dos parâmetros bound com cbColDef=0 
 24 - Solução de acesso para o mapeamento de valores de Tempo como
      Caracteres
 25 - Acessa solução alternativa para colunas decimais - remove zeros
      finais da representação de caracteres
 26 - Não retorna sqlcode 464 para o aplicativo - indica que conjuntos
      de resultados são retornados
 27 - Força o SQLTables a utilizar o valor palavra-chave TABLETYPE,
      mesmo que o aplicativo especifica um valor válido
 28 - Descreve colunas reais como colunas duplas
 29 - ADO soluções para colunas decimais - remove zeros iniciais
      de valores x, em que 1 > x > -1 (Necessário apenas para
      algumas versões do MDAC)
 30 - Desativa a otimização de cache do Procedimento Armazenado
 31 - Relata estatísticas para aliases na chamada SQLStatistics
 32 - Sobrepõe o processamento do sqlcode -727 código de motivo 4
 33 - Retorna a versão ISO do registro de tempo quando convertido para
      caractere (como oposto à versão ODBC)
 34 - Relata colunas CHAR FOR BIT DATA como CHAR
 35 - Relata um TABLENAME inválido quando o SQL_DESC_BASE_TABLE_NAME
      é requisitado - otimização apenas-leitura ADO
 36 - Reservado
 37 - Reservado


[ Início da Página | Página Anterior | Próxima Página | Índice | Índice Remissivo ]