Forum Main Page > Banco de Dados - JDBC / SQL

Como conectar um programa ao SQL Server 2005?[Resolvido]

Goto page 1

New Topic    Reply Message


  1. GuilhermeG
    Offline
    Posts: 11

    Comment Arrow

    Publicado em: 10/04/2009 00:18:44

    Olá!

    Quero fazer um programa bem simples(Java SE) se conectar ao BD.
    O SQL Server que eu tenho é o 2005 EXPRESS, e instalei também aquele Management Studio.
    Já instalei o jTDS e coloquei ele (o .jar) na pasta (jdk1.6.0_02\jre\lib\ext)

    Aqui segue o código:



    Só que to tendo a exceção ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
    SQLException: No suitable driver found for jdbc:jtds:sqlserver://...

    O erro está na Class.forName(...) mas eu não sei o que deve por lá... (estou usando o jTDS como dito anteriormente)

    O que eu gostaria mesmo é de me conectar através do Windows authentication ( que nem precisa de user nem senha) Mas não sei como fazer, é mais simples?
    O nome do server é esse, o user e a senha existem e estão configurados certos, o banco de dados "Teste" também.
    A String que eu passo pra getConnection é assim mesmo? A barra "/" no HOME-674CF253E5/SQLEXPRESS na verdade é "\", só que assim dá erro.

    Espero que tenha ficado claro e que vocês possam me ajudar.
    Grato.




  1. simu
    Offline
    Posts: 5452

    Comment Arrow

    Publicado em: 10/04/2009 00:18:44

    Näo uso o jtds, mas acho que do jeito que voce postou, voce está tentando carregando o driver da microsoft...
    Deveria ser algo como

    quanto a barra "/" o correto, pela documentacäo, é usar a "/" mesmo. (Para usar a "\" no Java tem que por duas "\\")
    []]]


    _________________
    GC do Javafree.org
    ____________________________________________________________________________

    Mensagem Particular (MP) somente para temas particulares.
    MPs com perguntas sobre programação ou Java não serão respondidas!

    ____________________________________________________________________________

    This posting is provided AS IS with no warranties and confers no rights.




  1. GuilhermeG
    Offline
    Posts: 11

    Comment Arrow

    Publicado em: 10/04/2009 00:18:44

    simu:
    Näo uso o jtds, mas acho que do jeito que voce postou, voce está tentando carregando o driver da microsoft...
    Deveria ser algo como

    quanto a barra "/" o correto, pela documentacäo, é usar a "/" mesmo. (Para usar a "\" no Java tem que por duas "\\")
    []]]


    Opa, já ajudou, essa exceção do ClassNotFound ele não lança mais.
    Agora o problema é esse :


    Essa sintaxe que eu to usando tá certa? (HOME-674... é o nome do server), 1433 é a porta que ta na document. do jtds e DVDs é o nome do BD. user e password tão configurados certos assim mesmo.

    E só mais uma coisinha: que driver você usa?

    Valeu ai cara!
    Abraço




  1. simu
    Offline
    Posts: 5452

    Comment Arrow

    Publicado em: 10/04/2009 00:18:44

    Oi,
    eu só uso driver para o MySQL, Derby e (muito sem gosto) Oracle.

    Esse erro significa que a sua URL está errada:

    documentacäo:
    jdbc:jtds:<server_type>://<server>[:<port>][/<database>][;<property>=<value>[;...]]


    me parece que o nome que voce está passando como server está errado, e o nome do banco vem separado por um "/" e näo por ":"
    Näo sei o que é o "SQLEXPRESS" no seu caso, mas se for o nome da instancia vai ter que passa-lo como um argumento ";instance=SQLEXPRESS" na sua url.
    []]]
    PS: http://jtds.sourceforge.net/faq.html#urlFormat

    _________________
    GC do Javafree.org
    ____________________________________________________________________________

    Mensagem Particular (MP) somente para temas particulares.
    MPs com perguntas sobre programação ou Java não serão respondidas!

    ____________________________________________________________________________

    This posting is provided AS IS with no warranties and confers no rights.




  1. alisboa
    Offline
    Posts: 2

    Comment Arrow

    Publicado em: 10/04/2009 00:18:44

    Amigos do fórum eu sou novo por aqui, bem como muito novo em java. Pasmem vocês, estou acabando de deixar o Clipper (por favor sem comentários.rsrs). Mas é o seguinte, se alguem está tentando acessar o SQL Server 2005 Express Edition com o Java, utilizando o driver da Microsoft, esquece, até agora não vi funcionar, ou em nenhum dos locais onde procurei informações a respeito me fizeram ter certeza de que funciona. Pessoal, acreditem em mim, o que funciona mesmo é o JTDS.
    Simplesmente baixei o arquivo zip: jtds-1.2.2-dist.zip, que pode ser encontrado em: http://jtds.sourceforge.net/, na aba: download.
    O que fiz:
    1- Extraí este arquivo zip em: C:\Arquivos de programas\Java\jdk1.5.0_04\jre\lib\ext.
    2- "Setei" minha CLASSPATH para o seguinte: ".;C:\Arquivos de programas\Java\jdk1.5.0_04\lib\tools.jar;C:\Arquivos de programas\Java\jdk1.5.0_04\jre\lib\ext\jtds-1.2.2.jar;"
    3- Segue o código que utilizei para montar um pequeno exemplo. (detalhe, funcionou hoje 10/09/2007, às 16h), resolvi postá-lo aqui pela grande dificuldade que tive, acredito que possa ajudar algum "dinossauro" como eu.rsrs



    4- Eu baixei, do site do Microsoft, os bancos de dados "pubs" e "NorthWind" para serem utilizados no SQL 2005 Express Edition.

    Qualquer dúvida, estou à disposição. Com certeza continuarei a aprender muito com vocês.
    Abraço a todos do Fórum.




  1. GuilhermeG
    Offline
    Posts: 11

    Comment Arrow

    Publicado em: 10/04/2009 00:18:44

    Bacana alisboa!

    Tava quase desistindo disso :(

    Claro que no meu não funcionou, mas parece que "melhorou" haha
    Já tinha baixado o jTDS, instalado no lugar certo. O CLASSPATH no meu não tinha, dai eu criei. (Na tela das variaveis de ambiente, é no quadro de cima né? - COloquei uma foto no fim do post pra ajudar a ver)E coloquei o endereço certo onde tá o .jar

    OK, acho que até ai tá certo.

    To em duvida na URL.
    Aqui o server name do SQL Server é HOME-674FD523E5\SQLEXPRESS
    (tem uma foto tb)
    To achando que é isso que tá dando erro (porque eu colquei que nem você, localhost) nesse caso eu tenho que por o que? instance = HOME-674FD523E5\SQLEXPRESS ???


    O usuario e senha eu criei certo, consigo me conectar com eles pelo SQL Server pra criar querys.


    ****
    O erro que deu aqui foi :



    0

    0

    Valeu pela grande colaboração.
    Abraço




  1. alisboa
    Offline
    Posts: 2

    Comment Arrow

    Publicado em: 10/04/2009 00:18:44

    Estamos quase lá:

    A CLASSPATH tem de ser nas VARIÁVEIS DO SISTEMA e não de usuário, portanto, quadro de baixo. Isso já deve resolver muita coisa.

    Outro detalhe importante, não é necessário aquele palavrão todo, no nome do banco.
    - Vá no SQL Server Configuration Manager
    - Abra: Configurações de Rede do SQL Server 2005
    - Clique direito em: TCP/IP, habilitar.
    - Assim que o serviço for iniciado...
    - Duplo Clique nesse mesmo TCP/IP - Na aba "Endereços IP", vá no tópico IPALL, coloque a porta TCP para 1433 e portas TCP Dinâmicas para "nada".
    Pronto, seu SQL Server está escutando na porta 1433.

    Passe a string de conexão daquele mesmo jeito que fiz (simplesmente para você vê-la funcionando, depois teste outras coisas).
    Detalhe, neste momento use o SQL Server Authentication, com usuário "sa" e senha.

    "jdbc:jtds:sqlserver://localhost:1433/NorthWind;......."

    isto aqui significa que estamos utilizando o driver do jtds, nos conectando em um servidor local que está escutando na porta 1433 e acessando o banco de dados NorthWind deste mesmo servidor, com usuário e senha ditos anteriormente.
    Vai lá.




  1. GuilhermeG
    Offline
    Posts: 11

    Comment Arrow

    Publicado em: 10/04/2009 00:18:44

    alisboa:
    Estamos quase lá:

    A CLASSPATH tem de ser nas VARIÁVEIS DO SISTEMA e não de usuário, portanto, quadro de baixo. Isso já deve resolver muita coisa.

    Outro detalhe importante, não é necessário aquele palavrão todo, no nome do banco.
    - Vá no SQL Server Configuration Manager
    - Abra: Configurações de Rede do SQL Server 2005
    - Clique direito em: TCP/IP, habilitar.
    - Assim que o serviço for iniciado...
    - Duplo Clique nesse mesmo TCP/IP - Na aba "Endereços IP", vá no tópico IPALL, coloque a porta TCP para 1433 e portas TCP Dinâmicas para "nada".
    Pronto, seu SQL Server está escutando na porta 1433.

    Passe a string de conexão daquele mesmo jeito que fiz (simplesmente para você vê-la funcionando, depois teste outras coisas).
    Detalhe, neste momento use o SQL Server Authentication, com usuário "sa" e senha.

    "jdbc:jtds:sqlserver://localhost:1433/NorthWind;......."

    isto aqui significa que estamos utilizando o driver do jtds, nos conectando em um servidor local que está escutando na porta 1433 e acessando o banco de dados NorthWind deste mesmo servidor, com usuário e senha ditos anteriormente.
    Vai lá.


    Aeeeee funcionou!!!

    Valeu demais ae cara! Nem acreditei a hora que eu vi ele imprimindo os dados haha.

    Obrigado
    Abraço




  1. Relacionados





New Topic    Reply Message     Forum Main Page -> Banco de Dados - JDBC / SQL


Goto page 1