Sql server 2005 - jndi

3 respostas
F

Estou conseguindo conectar normalmente com o firebird com este código no context.xml:

<Resource auth="Container"
        database="localhost:/BD.GDB"
        factory="org.firebirdsql.pool.FBWrappingDataSource"
        maxPoolSize="10"
        minPoolSize="5"
        name="jdbc/mydb"
        password="masterkey"
        type="org.firebirdsql.pool.FBWrappingDataSource"
        userName="SYSDBA"/>

Mas não consegui conectar com o Sql Server 2005 com o drive jtds-1.2.jar

<Resource auth="Container"
        database="jdbc:jtds:sqlserver://192.168.0.1:1433/BD"
        factory="net.sourceforge.jtds.jdbc.Driver"
        maxPoolSize="10"
        minPoolSize="5"
        name="jdbc/mydb"
        password="sa"
        type="net.sourceforge.jtds.jdbc.Driver"
        userName="sa"/>

E também não deu certo com o drive da microsoft sqljdbc.jar

<Resource  
        name="jdbc/mydb"  
        auth="Container"  
        type="javax.sql.DataSource" 
        user="sa"  
        password="sa"       factory="com.microsoft.sqlserver.jdbc.SQLServerConnectionPoolDataSource"
        databaseName="jdbc:sqlserver://192.168.0.1/BD"/>

Tem algum drive especifico para Sql Server 2005 ou esta errado alguma configuração nesses códigos do context.xml ou tenho que mudar alguma coisa no classe?

Obrigado!

3 Respostas

M

Opa,

<Context path="/algumacoisa" docBase="/algumacoisa"
        debug="5" reloadable="true" crossContext="true">

  <Resource name="jdbc/MySQLServerDS" 
		auth="Container" 
		type="javax.sql.DataSource"
               	maxActive="300" 
		maxIdle="5" 
		maxWait="-1"
		removeAbandoned="true"
		removeAbandonedTimeout="5" 
               	username="algumacoisa" 
		password="outracoisa" 
	   driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
               	url="jdbc:microsoft:sqlserver://ip_servidor:porta;DatabaseName=bd_nome;SelectMethod=Cursor"/>

</Context>

Ajuda?

:okok:

F

Com o drive da microsoft não deu certo, mas com o drive da tds funciona nessa classe:

import java.sql.*;
 
public class SqlServer {
    private static final String URL = "jdbc:jtds:sqlserver://192.168.0.1:1433/BD";
    private static final String DRIVER = "net.sourceforge.jtds.jdbc.Driver";
    private static final String USUARIO = "sa";
    private static final String SENHA = "sa";
  	
    public static Connection getConnection() throws SQLException{
        try {
            Class.forName(DRIVER);
            System.out.println("Conectando a Banco de Dados...");
            return DriverManager.getConnection(URL, USUARIO, SENHA);
        } catch (ClassNotFoundException e) {
            throw new SQLException (e.getMessage());
        }		
    }

    public static void main (String args[]) throws SQLException {
        System.out.println("teste: " + getConnection());
    }
 }

Utilizando como o exemplo que me passou modificando o driver e a string de conexão também não funcionou:

<Resource name="jdbc/mydb"
      auth="Container"
      type="javax.sql.DataSource"
      maxActive="300"
      maxIdle="5"
      maxWait="-1"
      removeAbandoned="true"
      removeAbandonedTimeout="5"
      username="sa"
      password="sa"
      driverClassName="net.sourceforge.jtds.jdbc.Driver"         url="jdbc:jtds:sqlserver://192.168.0.1:1433;DatabaseName=BD;SelectMethod=Cursor"/>

O drive está OK, o problema é somente nesse context.xml o que posso fazer?

M

é interessante que você crie apenas para uma aplicação, que não compartilhe este pool, sugiro que crie em um contexto como eu passei para você.

:okok:

Criado 2 de junho de 2006
Ultima resposta 6 de jun. de 2006
Respostas 3
Participantes 2