Ir para conteúdo
Fórum Script Brasil

fulvio

Moderadores
  • Total de itens

    1.218
  • Registro em

  • Última visita

Tudo que fulvio postou

  1. Boa tarde Geilson, Para colocar um campo nulo, ou você não o referencia ou coloca null sem aspas. No 1º insert você tem 8 campos e quer inserir 9 dados.
  2. Boa tarde Bruk, Fica realemente muito trabalhoso você colocar todos os números. É neste ponto q fará um loop. :.) Ex.: DECLARE @Numero INT DECLARE @Resultado INT SET @Numero = 1 WHILE @Numero <= 50 BEGIN Set @Resultado = (SELECT COUNT (*) FROM LOTERIA WHERE DEZENA1=@Numero OR DEZENA2=@Numero OR DEZENA3=@Numero OR DEZENA4=@Numero OR DEZENA5=@Numero OR DEZENA6=@Numero) PRINT (@Resultado) SET @Numero = @Numero + 1 END PS.: Não sei o intervalo de números da MegaSena.... rs. Coloquei o intervalo de 1 a 50. Ai você altera. O seu BETWEEN está correto. Só dê uma olhada no formato da data.
  3. Bom dia Geilson, A sintaxe do float está incorreta. A correta: float (n) http://msdn.microsoft.com/pt-br/library/ms173773.aspx Parece-me que a sintaxe que está tentando utilizar é do tipo Numeric: avail_balance numeric(10,2)
  4. Boa tarde Geilson, Seria mais interessante você modelar utilizando uma ferramenta de desenho. Fica mais fácil a visualização. Outra coisa: se pedir uma modelagem, cada pessoa fará uma diferente. O interessante não é fazer certo, e sim fazer a melhor que se adapte à sua necessidade. A modelagem não se pode ser realizada sem saber o que o cliente deseja, a granularidade das informações envolvidas e o escopo do projeto. Vou te dar um exemplo: na sua lista, você vai manipular informações de endereço: o cliente deseja informações sobre CEP, ponto de referência, Geoprocessamento,... etc? Estas informações são de grande importância para que possa fazer uma modelagem eficiente. Mas vamos lá. Pegando o exemplo que postou: Tabela cliente: - Campo Documento de Identificação: este pode ser o próprio CPF, CI, titulo eleitor, carteira trabalho, certidão nascimento, etc. O interessante seria ter uma tabela para identificar o tipo. O campo Data de Emissão e outras informações (como cartório, folha, termo, etc) ficariam em uma nova tabela. - Campo telefone: se a pessoa tiver dois telefones fixos, ou 1 fixo e 1 celular? Seria interessante uma tabela a parte, onde poderia gravar vários telefones com seus respectivos tipos. Isto que o cliente deseja? Tabela Dependente: não vejo funcionalidade para esta tabela. A não ser se o seu escopo tenha cadastro de familiares / parentes. Se for um cliente, como por exemplo um clube de recreação onde os parentes do titular da conta podem ter acesso ao clube, teria que ser criada uma tabela a parte. Isto que o cliente deseja? Tabela Empresa: - Campo Instituição em que trabalha: é um atributo da pessoa. Mesmo se não fosse um atributo de pessoa, você teria que cadastrar a empresa para falar que a pesoa trabalha nela. - Campo Profissão: é um atributo da pessoa. - Campo Endereço Comercial: se for seu escopo, terá que identificar tabelas de: tipo logradouro (rua, avenida, rodovia, beco, etc), Logradouros, bairros, Cidades, Estados, Paises. Estas tabelas serão uteis não somente para o endereço da Empresa, mas para o endereço dos clientes. Tabela localidade de nascimento: - Campo Sexo: é um atributo da pessoa. - Campos Órgão Emissor e UF emissor: parece ser atributo de documento. - Campos Endereço Residencial, Número,Complemento, Cep, Bairro, Cidade, Estado: é um atributo da pessoa. DICA: Muitas das pessoas já pensam em modelagem antes de entender do negócio. Faça uma reunião com o cliente e tire todas as suas dúvidas. Não deixe de especificar (documentar) o que será feito e também o que NÃO será feito!!!
  5. Infelizmente não conheço... se alguém do forum tiver alguma ideia...
  6. Boa tarde Junio, Nunca usei o WDA. Se tiver instâncias nomeadas, tente trocar a porta de comunicação e realizar os testes.
  7. Boa tarde Junio, De nada. Precisando estamos ai!! :.)
  8. Bom dia Junio, Desculpe a pergunta, mas é realmente necessário servidores distintos em uma mesma máquina? Estou perguntando pois caso as duas instâncias estejam sendo executadas, haverá concorrência entre elas. Pode-se alterar os nomes dos Bancos de Dados. As vezes a mexida é maior, mas ganhará em performance. Bem vamos lá: - você instala a 1ª instância. Ela será a padrão. - Rode novamente o programa de instalação. O sistema identificará que já existe uma instância padrão e só permitirá a instalação de instâncias nomeadas. - Uma instância nomeada será o nome do servidor padrão mais o nome da instância (serão dois servidores completamente separados).
  9. Bom dia Bruk, A primeira coisa que deve fazer é trocar o tipo caracter tamanho 02 por inteiro. A pesquisa é mais rápida. você colocou os valores na tabela, ok? Agora é identificar quando aparece. Pode-se fazer desta forma: SELECT COUNT (*) FROM TABELA WHERE DEZENA1=10 OR DEZENA2=10 OR ..... Perceba que a dezena 10 vai repetir em todas as colunas. Se quiser contar todas as dezenas, no lugar do 10 coloque uma variável incremental e faça um loop. Ficaria assim: SELECT COUNT (*) FROM TABELA WHERE DEZENA1=@Variavel OR DEZENA2=@Variavel OR ..... DICA: - Não há a necessidade de ordenar. Se quiser, apenas no resultado do select. - Crie indices para otimizar as consultas.
  10. Bom dia André, De nada... estamos todos aqui para aprender!!! rs. - Verifique a conversão de campo entre as bases. - Verifique no Management se a conta SA está bloqueada. - Verifique nas configurações do Surface se os protocolos NAMEDPIPES e TCP/IP estão habilitados. - Verifique a porta de conexão nos servidores. - Verifique se os servidores conseguem se ver (pingar). Dê uma olhada no link: http://msdn.microsoft.com/pt-br/library/cc627376.aspx
  11. Putz.... homologado pelo Analista uma instalação? rs... Mas tudo bem. A conexão vai depender de qual plataforma está utilizando para desenvolver o aplicativo. A maioria dos aplicativos para duas camadas é ADO. Pelo Access basta acrescentar no seu projeto a referência à dll do Access. Quando for instalar o aplicativo, ela deverá ir também. Se não tiver instalador, não esqueça de copiar a dll e registrá-la. A cópia da dll vai depender da versão do Win nas máquinas. Pra XP, a dll ficará na system32.
  12. Vá em "Fonte de Dados de Usuário". Se não tiver o Native Client, faça a instalação: http://microsoft-sql-server-native-client.updatestar.com/pt
  13. Uma pergunta... porque ao invés de fazer um mdf (sql sever) você não faz um mdb (Access)? Aí você poderá apontar diretamente para ele, igual está querendo.
  14. Isso. Para que um PC seja Servidor, é necessário que NELE estaja instalado o Sql. Então você vai pegar uma máquina da empresa e colocá-la como Servidor. Instalará o Sql Server 2008 (provavelmente não pagará licença. Escolha a versão free) e fará as configurações necessárias. Nos demais PC´s, não há necessidade de instalar o Sql. Apenas o drive, ok? O drive Sql é nativo no Win. Aí pegará os PC´s clients q apontará para o PC que fez como servidor (o que instalou o Sql).
  15. Vamos lá. Depois de abrir os fontes ODBC: - Escolha "Fonte de Dados de Usuário" - Clique em Adicionar - Escolha a opção "Sql Native Client" - Dê um Nome / descrição (opcional) - No Server, você vai identificar em qual máquina o sql está. Avançar. - Escolha se deseja conectar utilizando o login do Windows (windows authentication) ou coloque login e senha.
  16. Não gosto muito de questionar as decisões adotadas pelos colegas, pois cada decisão implica em um processo de análise e problemas encontrados no ambiente. Em relação ao seu sistema, pode ficar despreocupado com quantidade de logins e acessos simultâneos... :.) Precisando estamos aí!!!
  17. Bom dia Ademir, No Client você não precisa instalar o SQL. Quanto ao acesso simultâneo, não terá problemas. Mas perceba uma coisa: cuidado para não confundir conexões com logins. você pode ter vários PC´s conectados ao BD, utilizando apenas 1 login. Ou você pode ter cada PC com logins distintos. Não sei ao certo a quantidade de usuários simultâneos o sql suporta, mas são muitos!!! Se o aplicativo for disponibilizado na rede local, creio não seja muitos PC´s / usuários.... rs. O mais interessante é se preocupar com a performance, ao invés de quantidade de acessos. :.)
  18. Boa tarde Ademir, Quando você desenvolve o aplicativo na sua máquina, o caminho é local. Se pegar outro computador e instalar o aplicativo desenvolvido, o caminho procurado será o local (nas mesmas pastas onde originalmente o arquivo mdf foi identificado). Como os PC´s acessarão o BD por um caminho na rede, você terá que desenvolver o aplicativo com um caminho válido de rede, não apontando para suas pastas locais (pode até apontar para a suas pastas, mas via rede). Se quiser fazer testes mais detalhados, poderá criar máquinas vistuais para isto. Em relação ao "driver SQL", há sim a configuração no PC Client: - Inicar / Configurações / Painel de Controle / Ferramentas Administrativas / Fontes de Dados (ODBC) - Adicione um drive para SQL Native Client. O resto é bem intuitivo. Espero q ajude.... :.)
  19. Bom dia André, Quando fez os testes, o projeto foi executado utilizando sua conexão. Ao agendar o projeto em um Job e não ter sucesso na execução (conforme post acima do erro), as configurações de acesso é que estão incorretas. Na conexão, verifique qual usuário foi habilitado para executar o processo (sa). Sim. Finalize e salve o projeto. Caso queira agendá-lo, basta criar o Job e chamar o SSIS para executar.
  20. Boa tarde André, Dá uma olhada nas configurações de acesso (login, senha). Quando conclui o projeto, você executou-o para testar? Rodou sem problemas?
  21. Bom dia Java, Para pegar a quantidade, terá q fazer um COUNT e um GROUP BY. Ficaria mais ou menos assim: select count(idPedido), nomeCliente from clientes c, pedidos p where c.idCliente=p.idCliente AND nomeCliente like '%sil%' group by nomeCliente
  22. O campo que recebe o xml é varchar(max), mas você pode alterá-lo para xml (que será o correto). Com esta alteração, o sql já identifica se está no padrão xml, não havendo problema de ter um "pedaço" do código apenas. Se não me engano, desde o sql 2000 o xml é nativo. Se o cliente lhe passa um código xml, fica mais fácil você tratá-lo como tal, do que gravá-lo como string e ficar "procurando" onde está o cpf. Caso o cliente te passe um xml com 20 usuários, onde cada um tenha seu cpf distinto, fica praticamente inviável ficar rastreando a string para capturar as informações. A ferramenta já dá uma oportunidade boa. Estou falando isto, pois já troquei dados com o Ministério da Saúde via xml. A estrutura é enorme!!! rs. Rastrear caracteres é praticamente impossível, fora o tempo gasto (tempo real e de processamento). Fica ai a dica!!! :.) Palavras de um professor (e olhe q tem muito tempo q formei... rs.): "Programe bem para uma micro empresa de 3 pessoas, que programará bem para uma multinacional".
  23. É isso mesmo... o seu XML está incorreto. Seguinte.... no seu script, há o nó Usr_Acs xmlns="Oficial". Neste caso (creio eu) está errado, pois o correto seria a identificação de quantos subnós este nó vai ter. Sendo assim o certo seria: Usr_Acs xmlns="4". No primeiro subnó, você identifica o tipo que colocou "Oficial". Nos demais subnós, são os valores que colocou mesmo. Aí basta dar um select para navegar no xml. Postei um exemplo pra você testar. Espero que ajude: Create Table #TesteXML (CodigoID int, dados xml) INSERT INTO #TesteXML (codigoid, dados) VALUES (100, '<?xml version = "1.0" encoding = "UTF-8"?> <Usr_Acs Total="4"> <xmlns>Oficial</xmlns> <UsrIdfUsr>39320</UsrIdfUsr> <xmlns>Oficial</xmlns><UsrNumCpf>44444444444</UsrNumCpf> <UsrCodSit>A</UsrCodSit></Usr_Acs>') -- Recupera o tipo DECLARE @Tipo NVARCHAR(50) SET @Tipo = ( SELECT dados.value('(/Usr_Acs/xmlns/text())[1]', 'nvarchar(50)') FROM #TesteXML WHERE codigoid = 100) SELECT @Tipo -- Recupera o Cpf DECLARE @Cpf NVARCHAR(50) SET @Cpf = ( SELECT dados.value('(/Usr_Acs/UsrNumCpf/text())[1]', 'nvarchar(50)') FROM #TesteXML WHERE codigoid = 100) SELECT @Cpf
  24. Boa tarde Suriano, O seu script xml está faltando a tag </Usr_Acs>. Verifique pra mim por favor. Ficaria assim: '<Usr_Acs xmlns="Oficial"> <UsrIdfUsr>39320</UsrIdfUsr> <UsrNumCpf>44444444444</UsrNumCpf> <UsrCodSit>A</UsrCodSit></Usr_Acs>' Qual sql você utiliza? Se for a partir do 2005, você poderá ler o string diretamente nos nodes, utilizando a função VALUE. Para isto, terá que declarar uma variável e inserir o resultado lido diretamente da estrutura xml. Perceba que quando dá o select na tabela onde está o xml, o campo vem "linkado". Se clicar, o próprio sql abre uma tela identando os nós. O select ficaria mais ou menos assim: DECLARE @Cpf varchar(XXX) SET @Cpf = ( SELECT coluna.value('(/Usr_Acs/UsrNumCpf/text())[1]', 'varchar(XXX)') FROM Tabela WHERE .... ) Dica: se em 1 nó você tiver mais de um valor, pode identificar qual posição você quer: o 1º, 2º, etc... Há muitos tutorias na net q explica passo a passo!! :.)
  25. Bom dia Java, O script não funcionou pois a estrutura de sua tabela consta a coluna CodigoVendedor NOT NULL. Basta adaptar o mesmo código passado pelo Cosme (que está correto) para a sua estrutura. Se os clientes com codigovendedor=0 são os clientes que não possuem Vendedor associado, basta dar o select direto na tabela Clientes, filtrando o codigovendedor=0. No seu exemplo, você postou a linha "Jéssica Lopes" contendo o codigovendedor=5. Na tabela Vendedor, não há o codigovendedor=5. Minha dúvida: na estrutura da tabela Cliente, o codigovendedor é FK. (???) Dê uma olhadada se a FK existe. Se existir, verifique se está ativa. Para pegar os códigos dos vendedores que não estão na tabela clientes (forma mais simples, mas a menos otimizada): select * from vendedores where codigoVendedor not in (select distinct codigovendedor from clientes) A segunda forma de consulta postada pelo Cosme é a melhor.
×
×
  • Criar Novo...