Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Caduzera

[Resolvido] SQLCMD + Acentuação

Recommended Posts

Pessoal, estou tenando executar vários SCRIPT's via o SQLCMD que tem mais ou menos uns 700mb.

 

O problema é que em alguns casos eu salvo o script no formato UTF-8 - (sem bom) e funciona ... em outros casos não funciona retornando a mensagem: Scripting error

 

Estou usando a versão do SQL Server 2005 com Windows Vista.

 

Li em alguns lugares que o arquivo deve ser salvo no formato UNICODE, porém, mesmo salvando neste formato ocorre o mesmo erro !!

 

Mandem um HELP por favor !!

 

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, estou tenando executar vários SCRIPT's via o SQLCMD que tem mais ou menos uns 700mb.

 

O problema é que em alguns casos eu salvo o script no formato UTF-8 - (sem bom) e funciona ... em outros casos não funciona retornando a mensagem: Scripting error

 

Estou usando a versão do SQL Server 2005 com Windows Vista.

 

Li em alguns lugares que o arquivo deve ser salvo no formato UNICODE, porém, mesmo salvando neste formato ocorre o mesmo erro !!

 

Mandem um HELP por favor !!

 

Abs.

 

Pode dar um exemplo de um script com erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A tabela é essa:

 

CREATE TABLE TCOSSPY (

CSPY_COD INT NOT NULL,

MAPC_COD INT NOT NULL,

CODUSU INT,

CSPY_AREA CHAR(1),

CSPY_AREA_ANT CHAR(1),

CSPY_DATA DATETIME,

CSPY_DATA_ANT DATETIME,

CSPY_MOVTO DATETIME,

CSPY_STATUS CHAR(2)

);

 

o CSPY_COD é a chave primária, porém, não uso campo IDENTITY.

 

A tabela possui uma trigger de DELETE que é:

 

CREATE TRIGGER TRG_INSERIR_ESPIAO_BAIXA_COMPROMETIMENTO_DEL

ON dbo.TCOSSPY

FOR DELETE

AS

 

BEGIN

INSERT INTO TCOSSPY_ESPIAO

(CSPY_COD, MAPC_COD, CODUSU, CSPY_DATA, CSPY_MOVTO, CSPY_STATUS, CSPY_OPERACAO)

(SELECT CSPY_COD, MAPC_COD, CODUSU, GETDATE(), CSPY_MOVTO, CSPY_STATUS, 'D' FROM DELETED);

END

 

Mas é engraçado que executado a mesma linha direto no SQL Server Management.

 

Segue um exemplo do que esta contido no arquivo:

 

INSERT INTO TCOSSPY

(CSPY_COD, MAPC_COD, CODUSU, CSPY_AREA, CSPY_AREA_ANT, CSPY_DATA, CSPY_DATA_ANT, CSPY_MOVTO, CSPY_STATUS)

VALUES

(4068419, 491310, 2154, 'G', 'G', '2009-09-17 14:36:27', '2009-09-15 10:12:15', '2009-09-17', 'CS');

 

O que será?

 

Valeu pela ajuda !!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na sexta-feira consegui detectar o erro e resolver o problema. Vou colocar a resolução caso alguem precise.

 

Os arquivos que são executados pelo SQLCMD necessitam da instrução GO dependendo do numero de linhas á serem executadas. Em arquivos pequenos essa instrução não é necessária, porém, em grandes arquivos, é necessário esta instrução em um intervalo de linhas para que o SQLCMD não ultrapasse o limite de cache de armazenamento de instruções. No meu caso coloquei a instrução GO a cada 10 mil linhas.

 

Sem isso ele não consegue carregar o script que esta sendo informado e gera a mensagem: Scripting error.

 

Valeu pela ajuda pessoal.

 

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.