SQLSTATE
Post em andamento. Sempre que possível é adicionado outros codes :-)
-305
Post em andamento. Sempre que possível é adicionado outros codes :-)
-119
SQLSTATE: 42803
A COLUMN OR EXPRESSION IN A HAVING CLAUSE IS NOT VALID
Possível solução:
1 - Verifique se TODOS os campos do Select estão no Group By. Exemplo:
SQLSTATE: 42803
A COLUMN OR EXPRESSION IN A HAVING CLAUSE IS NOT VALID
Possível solução:
1 - Verifique se TODOS os campos do Select estão no Group By. Exemplo:
SELECT NOME, SOBRENOME, DATA, ENDERECO FROM TABELA
GROUP BY NOME, SOBRENOME, DATA, ENDERECO
-304
SQLSTATE: 22003
A VALUE WITH DATA TYPE data-type1 CANNOT BE ASSIGNED TO A HOST VARIABLE BECAUSE THE VALUE IS NOT WITHIN THE RANGE OF THE HOST VARIABLE IN POSITION position-number WITH DATA TYPE data-type2
Possível solução:
1 - Verifique se as variáveis do COBOL estão na respectiva posição dos campos da tabela. Exemplo:
2 - Verifique se as variáveis estão com tamanho e tipo correto.
SQLSTATE: 22003
A VALUE WITH DATA TYPE data-type1 CANNOT BE ASSIGNED TO A HOST VARIABLE BECAUSE THE VALUE IS NOT WITHIN THE RANGE OF THE HOST VARIABLE IN POSITION position-number WITH DATA TYPE data-type2
Possível solução:
1 - Verifique se as variáveis do COBOL estão na respectiva posição dos campos da tabela. Exemplo:
SELECT NOME, SOBRENOME, DATA³, ENDERECO FROM TABELA
INTO :NOME, :SOBRENOME, :DATA³; :ENDERECO
SQLSTATE: 22002
THE NULL VALUE CANNOT BE ASSIGNED TO OUTPUT HOST VARIABLE NUMBER position-number BECAUSE NO INDICATOR VARIABLE IS SPECIFIED
Possível solução: adicionar para os campos que podem ser nulos um indicador de nulidade.
Exemplo:
THE NULL VALUE CANNOT BE ASSIGNED TO OUTPUT HOST VARIABLE NUMBER position-number BECAUSE NO INDICATOR VARIABLE IS SPECIFIED
Possível solução: adicionar para os campos que podem ser nulos um indicador de nulidade.
Exemplo:
LOCAL-STORAGE
* -- INDICADORES DE NULIDADE
77
IN-NULL-CAMPO-TRES PIC S9(04)
COMP VALUE ZEROS.
PROCEDURE DIVISION
EXEC SQL
FETCH INSENSITIVE ABSOLUTE
:POSICAO-CURSOR CURSOR-TESTE
INTO :CAMPO-UM
, :CAMPO-DOIS
, :CAMPO-TRES :IN-NULL-CAMPO-TRES
END-EXEC.
Possível solução:
1 - Verifique se as variáveis do COBOL estão na respectiva posição dos campos da tabela, ou seja, se as variáveis do INTO estão na respectiva posição dos campos do SELECT. Exemplo:
SELECT NOME, SOBRENOME, DATA³, ENDERECO FROM TABELA
INTO :NOME, :SOBRENOME, :DATA³; :ENDERECO
2 - Verifique se as variáveis estão com tamanho e tipo correto.
3 – Se tiver um campo varchar no Select para uma variável de item de grupo COBOL com tamanho (LEN) e texto, certifique que estão com o nível 49, exemplo:
01 TEXTO.
49 TEXTO-LEN. * -- armazena o tamanho do texto
49 TEXTO-DESCRICAO. * -- armazena o texto
-504
-530
-803
-420
SQLSTATE: 22018
THE VALUE OF A STRING ARGUMENT WAS NOT
ACCEPTABLE TO THE function-name FUNCTION
1 - Verifique se as variáveis do COBOL estão na respectiva posição dos campos da tabela, ou seja, se as variáveis do INTO estão na respectiva posição dos campos do SELECT. Exemplo:
SELECT NOME, SOBRENOME, DATA³, ENDERECO FROM TABELA
INTO :NOME, :SOBRENOME, :DATA³; :ENDERECO
2 - Verifique se as variáveis estão com tamanho e tipo correto.
3 – Se tiver um campo varchar no Select para uma variável de item de grupo COBOL com tamanho (LEN) e texto, certifique que estão com o nível 49, exemplo:
01 TEXTO.
49 TEXTO-LEN. * -- armazena o tamanho do texto
49 TEXTO-DESCRICAO. * -- armazena o texto
SQLSTATE: 34000
IF THE CURSOR-NAME WAS <UNKNOWN>, THEN THE CURSOR WAS NOT SUCCESSFULLY DECLARED OR ALLOCATED.
IF THE CURSOR-NAME WAS <UNKNOWN>, THEN THE CURSOR WAS NOT SUCCESSFULLY DECLARED OR ALLOCATED.
Possível solução: O nome do cursor não foi "encontrado", então verifique se nas clausulas EXEC SQL que referenciam o cursor estão com o mesmo nome declarado ao cursor.
SQLSTATE: 23503
THE INSERT OR UPDATE VALUE OF FOREIGN KEY constraint-name IS INVALID
Possível solução: Para realizar um Insert ou UpDate os valores das chaves estrangeiras devem existir no banco de dados, ou seja, os valores que estão sendo passados na instrução Insert ou UpDate devem ser valores válidos (existentes nas tabelas estrangeiras).
THE INSERT OR UPDATE VALUE OF FOREIGN KEY constraint-name IS INVALID
Possível solução: Para realizar um Insert ou UpDate os valores das chaves estrangeiras devem existir no banco de dados, ou seja, os valores que estão sendo passados na instrução Insert ou UpDate devem ser valores válidos (existentes nas tabelas estrangeiras).
SQLSTATE: 23505
-923
AN INSERTED OR UPDATED VALUE IS INVALID BECAUSE THE INDEX
IN INDEX SPACE indexspace-name CONSTRAINS COLUMNS
OF THE TABLE SO NO TWO ROWS CAN CONTAIN DUPLICATE VALUES IN THOSE
COLUMNS. RID OF EXISTING ROW IS X record-id
Possíveis soluções:
- No caso de ser tentativa de INSERT, verifique se os campos/valores (chave) já existem no banco de dados.
- Se for tentativa de UpDate ou Delete, verifique se há campos/valores (chave) duplicados.
SQLSTATE: 57015
CONNECTION NOT ESTABLISHED: DB2 condition REASON reason-code, TYPE resource-type, NAME resource-name
CONNECTION NOT ESTABLISHED: DB2 condition REASON reason-code, TYPE resource-type, NAME resource-name
Possível soluções:
- Verifique se o SQL está correto
- Tente executar o SQL por outra plataforma
- Certifique que o plano do Natural está correto