Ir para conteúdo
Fórum Script Brasil

fulvio

Moderadores
  • Total de itens

    1.218
  • Registro em

  • Última visita

Tudo que fulvio postou

  1. Verifique a "Fontes de dados (ODBC)" para ver se a base está identificada. Não precisa instalar o sql no client para rodar o aplicativo. Senão terá q instalar em todos os clientes que precisar executar o seu aplicativo. No site da microsoft também tem pacotes de drivers para client. O certo seria incorporar os drivers juntamente no instalador (igual descrito pelo Caio).
  2. Boa tarde Bred, O interessante seria saber qual o erro. O que pode ser é o caminho para acessar o Banco de Dados. O aplicativo tenta encontrar o banco em uma determinada pasta e não o encontra. Na aplicação, coloque mensagens de erros para identificar o que pode estar ocorrendo, caso não tenha como "debugar".
  3. fulvio

    Tratamento de Data

    No select você pode colocar um CASE para testar resultados negativos.
  4. Boa tarde Jr, Estas dúvidas são para o trabalho? Creio que elas são muito básicas para serem de trabalho... Aconselho um tutorial ou livro de sql para dar uma olhada nos joins entre tabelas. Se for exercício de algum curso, não gostaria de ficar respondendo, pois esta é a hora de aprender!!! :.)
  5. Bom dia Jr, você pode utilizar a função CHARINDEX para identificar em qual posição está o delimitador "/". Aí é pegar esta informação e utilizar o SUBSTRING para separar os caracteres. A função LEN é para pegar a quantidade máxima de caracteres da string. Fica um pouco grande, mas funciona legal: -- Pega a 1ª parte SELECT SUBSTRING ('UNIDADE SANITARIA DE AGUA BRANCA / CENTRO', 1, (CHARINDEX ('/','UNIDADE SANITARIA DE AGUA BRANCA / CENTRO'))-1) -- Pega a 2ª parte SELECT SUBSTRING ('UNIDADE SANITARIA DE AGUA BRANCA / CENTRO', (CHARINDEX ('/','UNIDADE SANITARIA DE AGUA BRANCA / CENTRO'))+1, LEN('UNIDADE SANITARIA DE AGUA BRANCA / CENTRO'))
  6. Bom dia Jr, você pode fazer um CASE na hora de inserir na tabela temporária, ao invés de update. Ficaria assim: INSERT INTO #tmp_comando select Codigo_Paciente, case Sexo WHEN 'F' THEN 'Feminino' WHEN 'M' THEN 'Masculino' end, Data_Nascimento FROM [SYS_CLINICAS].[dbo].[Paciente] where [sys_clinicas].[dbo].[Paciente].Codigo_Paciente <>0
  7. Boa tarde Alisson, O SQLServer2005SP3-KB955706-x86-ENU.exe... pra 32 bits.
  8. Quando você abre as propriedades do linked, na aba Security qual o login remoto que utiliza? você cria um específico para o linked? Se não utilizar um específico, crie um e faça as configurações do linked para este login (acessos, permissões, tudo). Aí faça os teste novamente.
  9. você consegue "ver" a máquina onde estão os dados (ping) pela máquina onde está o sql? Ainda acho que seja permissão de gravação, pois o problema está no INSERT e no UPDATE. Verifique se o usuário tem permissão de gravar no outro banco.
  10. Bom dia Rikardo, As duas tabelas do sistema que são referências estão incorretas. A "INFORMATION_SCHEMA.COLUMNS" deverá ser substituida pela "SYSCOLUMNS" (com alteração nos nomes da colunas referenciadas). Mas a tabela "SYSPROPERTIES" eu não consegui identificar uma semelhante no sql. Gostaria de saber o que o script faz...
  11. Bom dia Poterman, Qual a versão do sql q está utilizando? Eu prefiro utilizar o OpenQuery.... você já relatou, mas verifique as pesmissões do linked server. Mesmo logado com o usuário, o linked pode estar com outras parametrizações. Tente com o OpenQuery. Ex.: select * from openquery (NomeLinkedServer, 'select * from .... ')
  12. Tópico movido para Fórum Script Brasil > Programação & Desenvolvimento > Delphi, Kylix
  13. Ok, entendido... Você pode utilizar o replace (função do sql) para retirar o tracejado. Mas aí terá que ver como utilizará, pois se o resultset já vier com o tracejado, terá que submetê-lo a uma nova rotina...
  14. Boa tarde Leandro, O SQL possui um wizard para realizar estas exportações. Clique com o botão direito do mouse no nome do banco / Tasks / Export Data.
  15. Bom dia Kratos, O nome das FK´s não podem ser iguais. A maioria das vezes utiliza-se o próprio nome da tabela na definição da FK, para ficar mais fácil a associação da constraint X tabelas.
  16. Tópico movido para Fórum Script Brasil > Banco de Dados > Demais Bancos
  17. Bom dia Fabrício, Em um post mais antigo, coloquei alguns comandos de sql para verificação das informações de arquivos MDF´s... estes comandos verificam a compatibilidade entre arquivo e o SQL, tamanho, nome, quais e quantos arquivos secundários possuem o MDF, etc... dá uma olhada nos posts antigos se encontra. Vou dar uma olhada aqui também!! :.) Se achar anexo aqui.
  18. fulvio

    Comando sql

    Boa tarde Mascote, Isso é questão de faculdade / curso?
  19. fulvio

    Erro MySQL Server '80040e14'

    Post movido para Fórum Script Brasil > Banco de Dados > MySQL
  20. Neste comando: SELECT CODCATITE FROM IBETCATITE WHERE CODCATITE IN ('LISTA DE VALORES') Se fizer: SELECT CODCATITE FROM IBETCATITE WHERE CODCATITE IN (@PROD) Dará erro, pois a variável @PROD está declarada como INT. Mesmo que passar a variável para varchar, dará erro. O campo CODCATITE espera um INT para formar o script. Você terá que declarar a variável @PROD como varchar e terá que criar um script dinâmico. O comando: SELECT CODCATITE FROM IBETCATITE WHERE CODCATITE IN ('LISTA DE VALORES') Só funcionará se colocar manulmente a lista no campo. Se passar uma lista por variável, não funcionará. Com o script dinâmico, você conseguirá dar os dois updates sem precisar de utilizar cursor. Se o comando SELECT CODCATITE FROM IBETCATITE WHERE CODCATITE IN ('LISTA DE VALORES') funcionasse, não precisaria abrir cursor, bastaria dar o update direto, utilizando na clausula WHERE o IN...
  21. Bom dia Guilherme, Completei o script, mais ficou um pouco demorado por causa da quantidade de dados a serem pesquisadas. Dê uma olhada e qualquer coisa pode postar... CREATE TABLE #TBL_SEMANAS_ANO (SEMANA INT ,DATA datetime) declare @dt_ini datetime, @dt_fim DATETIME set @dt_ini = convert(varchar, year(getdate()))+'-01-01' set @dt_fim = convert(varchar, year(getdate())+1)+'-01-01' -- Aqui você insere todos os dias do ano while @dt_ini < @dt_fim begin INSERT INTO #TBL_SEMANAS_ANO ([SEMANA],[DATA]) select datepart(wk, @dt_ini) as semana, @dt_ini as data set @dt_ini = dateadd(day, 1, @dt_ini) end -- Coloquei uma coluna de controle ALTER TABLE #TBL_SEMANAS_ANO ADD Controle INT IDENTITY -- Adaptei para deletar os dias que não precisa. -- Caso os dias não estejam ok, faça as adaptações. DECLARE @Contador INT SET @Contador = 1 WHILE (SELECT MAX(controle) FROM #TBL_SEMANAS_ANO)<=365 BEGIN IF (SELECT DATEPART (w, Data) FROM #TBL_SEMANAS_ANO WHERE Controle=@Contador)<> 1 AND (SELECT DATEPART (w, Data) FROM #TBL_SEMANAS_ANO WHERE Controle=@Contador)<> 6 DELETE FROM #TBL_SEMANAS_ANO WHERE Controle=@Contador SET @Contador = @Contador + 1 END --SELECT * FROM #TBL_SEMANAS_ANO
  22. Não conheço... já vi alguns editores que facilitam a vida, mas não gosto muito. Prefiro o sql mesmo... rs. Teve um colega de trabalho que encontrou um muito legal, e acabei instalando em minha máquina também. Este programa (SQL Assistant) cria várias funçõe no próprio Managament. Aí não precisa ter outro editor. Ele efetivamente turbina o Management... rs.
  23. rs... o sysobjects não é dbo e o sysindexes é junto... foi quase!!
  24. O campo Descricao da tabela Rota (igual ao exemplo que deu: 10,20,30,40) provavelmente possui um crescimento dinâmico, quer dizer, cada Codigo possui uma quantidade específica de bairros... neste caso terá que fazer um loop para identificar cada bairro. Neste loop terá que utilizar o marcador vírgula para identificar o novo bairro. Este seria o correto. Mas pode-se fazer uma adaptação... rs... Crie um script dinâmico e mande executar. Segue abaixo um exemplo. Se não enteder, pode entrar em contato. Faça as suas adaptações... DECLARE @Sql VARCHAR(200) SET @Sql = 'SELECT * FROM bairro WHERE codigo IN (' SET @Sql = @Sql + (SELECT descricao FROM Rota WHERE codigo=1) + ')' Print @Sql -- esse é pra ver como vai ficar o script Exec (@Sql)
  25. Boa tarde Gilherme, Não tenho o script montado, mas montei um para você. Se não for isso, poderá fazer a adaptação. Espero que ajuda. OBS.: dá uma olhada na configuração de data do seu banco. DECLARE @Contador INT DECLARE @Data datetime SET @Contador = 1 SET @Data = '2011-01-01' WHILE @Contador <= 365 BEGIN IF DATEPART (w, @Data) = 1 PRINT (@Data) IF DATEPART (w, @Data) = 6 PRINT (@Data) SET @Contador = @Contador + 1 SET @Data = (dateadd (d, 1, @Data)) END
×
×
  • Criar Novo...