Ir para conteúdo
Fórum Script Brasil

fulvio

Moderadores
  • Total de itens

    1.218
  • Registro em

  • Última visita

Tudo que fulvio postou

  1. Bom dia Vinicius, Segue um exemplo. Rode o select separadamente para ver os resultados, ok? DECLARE @Conta VARCHAR(10) SET @Conta= '2255669-9' -- Conversão dá errado porque tem caracter SELECT CAST (@Conta AS integer) -- Assim dá certo SELECT CAST (replace(@Conta, '-', '') AS integer)
  2. Boa tarde Ricardo, Provável erro de conexão com o servidor.
  3. Bom dia Igor, Seja bem vindo ao Forum!!! Para adicionar, você terá que pegar o valor do campo + 1000. Ficaria: update users set shopcheese = shopcheese + 1000 OBS.: o campo shopcheese tem que se numérico e não há a necessidade de aspas simples para identificar números.
  4. Bom dia Fagner, Para a sintaxe ficar dinâmica, você deverá: - criar uma variável - inserir o script - executar a partir da variável. Ex.: DECLARE @String VARCHAR(100) DECLARE @Variavel VARCHAR(10) SET @Variavel = 'top 10 ' SET @String = 'select ' + @Variavel + ' * from sysobjects' EXEC (@String)
  5. A view pode ter o mesmo nome da tabela, mas as tabelas que receberão os dados deverão ter nomes diferentes.... seria uma alternativa até que a empresa desenvolva a solução final.
  6. Creio que transações bidirecionais não resolveria este problema, pois está utilizando os limites da ferramenta. Para não alterar o código fonte, a view teria que ter o nome exato da tabela origem. As tabelas que conteriam as informações teriam nomes diferentes e seriam identificadas como "tabelas de transporte". Com isto não precisaria realizar alterações no código fonte. Não conheço nenhum caso de tabelas que tinham esta quantidade de colunas (formas normais). Estou dando algumas dicas, mas nunca vi nenhum caso concreto em relação a isto.
  7. Bom dia Eder, Apenas uma dúvida.... você já pensou em criar duas tabelas para a replicação e fazer uma view para ajuntar as informações?
  8. Bom dia Rcardo, Você está utilizando o mesmo nome de pacote para executar a nova alteração? Caso seja, seria interessante alterar o nome, pois o sql grava as informações do pacote em sua log. Quando você realiza a execução, ele recupera da log informações do pacote. Para não ter problemas, renomeie o novo script.
  9. fulvio

    envio de email no SQL

    Bom dia NIK, Segue link: http://msdn.microsoft.com/pt-br/library/ms...sql.105%29.aspx
  10. Bom dia Eder, No @article você colocará a tabela na qual criará a publicação. Segue link: http://msdn.microsoft.com/pt-br/library/ms...sql.105%29.aspx
  11. Creio que melhor seria criar as tabelas nos mesmos moldes e depois exportar os dados. Após a migração, fazer todas as integridades.
  12. Caso seja necessário, poderá utilizar o replace para converter.
  13. Boa tarde Vinicius, você poderá fazer a conversão para inteiro ou decimal, mas no campo a converter só poderá conter números. SELECT dbo.tblPlano_contas_movimento.DT_Previsao AS DT_Previsao, cast (dbo.tblPlano_contas_movimento.NO_Documento AS integer), dbo.[Contas Correntes].NúmeroDaAgência, dbo.[Contas Correntes].NomeDaConta, dbo.[Contas Correntes].NúmeroDaConta, dbo.tblPlano_contas_movimento.DS_Complemento AS DS_Complemento, dbo.tblPlano_contas_movimento.VL_Lancamento * -1 AS VL_Lancamento, dbo.tblPlano_contas_movimento.DT_Pagamento AS DT_Pagamento, dbo.tblPlano_contas_movimento.CD_Conta AS CONTA, dbo.tblPlano_contas_movimento.DT_Lancamento AS DT_Lancamento, dbo.[Contas Correntes].NO_Banco FROM dbo.tblPlano_contas_movimento RIGHT OUTER JOIN dbo.[Contas Correntes] ON dbo.tblPlano_contas_movimento.CD_Conta = dbo.[Contas Correntes].CD_Conta_Apagar WHERE (dbo.tblPlano_contas_movimento.VL_Lancamento < 0) AND (dbo.[Contas Correntes].CÓDIGODACONTA <> 0) ORDER BY 2, dbo.[Contas Correntes].NúmeroDaAgência
  14. Bom dia Ricardo, Segue o link: https://www.simple-talk.com/sql/ssis/adding...-ssis-packages/
  15. Boa tarde João, Como fará a migração dos dados? Tentará mover a base inteira, ou criará as estrturas e depois dará a carga?
  16. Bom dia Eder, Seja bem vindo no Forum!! As vezes temos muitos posts e acabamos nos perdendo... rs. Em relação a sua dúvida, você terá que manipular o nível de linha e coluna. Informações do msdn: Se o seu aplicativo não exigir o rastreamento de nível de coluna, será recomendado que você use o rastreamento de nível de linha (o padrão) porque normalmente ele resulta em um melhor desempenho da sincronização. Se o rastreamento de linha for usado, a tabela base poderá incluir no máximo 1.024 colunas, mas as colunas devem ser filtradas do artigo de modo que sejam publicadas 246 colunas, no máximo. Se rastreamento de coluna for usado, a tabela base poderá incluir no máximo 246 colunas. Como utilizar (dica): http://msdn.microsoft.com/pt-br/library/ms...sql.105%29.aspx
  17. Boa tarde Ricardo, Ainda prefiro um serviço... rs, mas vamos lá: Dê uma olhada em sua sintaxe: exec master..xp_fileexist @File, @i out Creio que seja assim (faça os testes): exec master.dbo.xp_FileExist @File, @i output
  18. fulvio

    envio de email no SQL

    Boa tarde NIK, O sql já possui as funcionalidades para envio de email, mas terá que configurar os protocolos na Surface Area. Segue um link interessante: http://www.devmedia.com.br/database-mail-no-sql-server/24283
  19. fulvio

    Procedure muito lenta

    Bom dia Bonamim, O problema não está no LEFT JOIN, mas sim nos subselects e temporárias que está utilizando. Não sei a lógica nem os relacionamentos entre as tabelas, mas a princípio terá que: - Diminuir ao máximo as tabelas temporárias (criá-las só quando não tiver jeito mesmo). As tabelas temporárias além de consumir muita memória, não possui formas "boas" de indexação. Se na temporária tiver muitos registros e ainda fizer JOIN's com outras temporárias, seu tempo de resposta vai nas alturas. - Nunca utilizar subselects (eles mais que duplicam o tempo de execução, pois o sql aguarda o resultado de um select para executar o outro). Analise os relacionamentos entre as tabelas e procure extrair os dados em um sql "limpo". Esta será a melhor forma de otimizar o resultado. OBS.: 5 mil registros é fichinha pro sql. Manipulamos 30 milhões de registros com resultados satisfatórios.
  20. Bom dia Ricardo, Este script não é tão simples assim, pois este tipo de manipulação não está bem relacionada com o sql, mas com um aplicativo ou serviço. O sql não consegue identificar o nome da planilha, pois o comando que deve passar para o sql é "ler planilha X". Desta forma, terá que ter antecipadamente o nome da planilha. O melhor mesmo seria criar um serviço lendo o diretório das planilhas de tempos em tempos. Assim que identificar alguma planilha na pasta, ler e dar carga na base. Este aplicativo fará todo o controle, cabendo ao sql apenas as funções específicas a ele.
  21. Bom dia Erik, Seja bem vindo ao Forum! Vou mover seu tópico para "Demais Bancos". O ideal seria uma pessoa de Oracle para explicar a estrutura, e você refazê-la. Caso seja você quem faça a manutenção, seria melhor você mesmo escrever o script, e não apenas transcrever.
  22. Verifique o drive odbc do XP e as configurações dos protocolos de acesso do sql. Na verdade, exclua e crie novamente do drive odbc. No Management você conseguirá fazer as consultas, pois está no console do sql.
  23. fulvio

    Linked Server

    Bom dia Eder, você está usando o Microsoft.ACE.OLEDB.12.0? Se estiver, basta configurar: - Vá em: Server->Server Objects->Linked Server->Providers->Microsoft.Ace.Oledb.12.0 - Marque a opção “Allow process”.
  24. Bom dia, Qual a versão do sql está utilizando?
  25. Bom dia Fernandinha, Configurando os usuário e os grupos de acesso será a forma mais simples de se fazer isto.
×
×
  • Criar Novo...