Pergunta

Eu tenho uma tabela de banco de dados em um servidor de desenvolvimento que está agora totalmente preenchido depois que eu defini-lo correndo com uma rotina de importação para um arquivo CSV que contém 1,4 milhões de linhas.

Eu corri o Database Publishing Wizard sobre a mesa, e agora eu tenho um SQL script de 286MB na minha máquina local. O problema é que eu não consigo descobrir como executá-lo. Se eu carregá-lo no SQL Server Management Studio Express recebo uma janela de alerta que diz: "A operação não pôde ser concluída".

Algumas ideias sobre como posso obter este script SQL para executar?

Foi útil?

Solução

Running algo que grande dentro de uma única transação não é uma boa idéia. Portanto, eu recomendo quebrar o arquivo em pedaços menores e mais gerenciáveis.

Outra opção é olhar para algumas das outras maneiras de dados de importação CSV diretamente.

Outras dicas

usar a ferramenta sqlcmd para executar o arquivo ..

sqlcmd -S myServer\instanceName -i C:\myScript.sql

No caso do seu ter um "erro de script" inexplicável para grandes arquivos SQL (> 100 MB), que inclui vários INSERT, basta substituir "INSERT INTO" por "GO INSERT INTO" em seu arquivo, que irá reduzir o tamanho do transação.

Esta ferramenta ( Big SQL Script Runner ) no CodePlex irá executar qualquer arquivo de script tamanho com log e GUI.

Adicionando a resposta do Gulzar Nazim: Se você ainda receber uma falha, tente especificar o página de códigos do seu arquivo SQL usando a opção -f:

sqlcmd -S myServer\instanceName -d databaseName -i C:\myScript.sql -f 65001

Eu estava tentando importar um arquivo .dump do SQLite (UTF-8 por padrão), e sqlcmd manteve jogando um erro depois de encontrar o primeiro caractere especial. -f 65001 fixa-lo para mim.

Por que não usar DTS para importar o arquivo CSV diretamente?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top