Estou publicando um exemplo de conexão do Java Server Pages com o SQL Server 2000 Personal Edition (para quem me pediu por e-mail estarei enviando)
Observação: Esse exemplo é só um teste para ver se funciona a conexão com o SQL, o ideal é pegar esse código e encapsular em uma classe responsável por gerenciar a persistência de dados.
<%@page info = “teste do Douglas” %>
<%@page import=“java.sql., java.io.” %>
<%
//w2kserver é o nome do servidor
//1433 é a porta default do SQL Server
//desenv é o nome do meu database
//sa é o nome do usuário, assim como o password também
String path_banco_dados = “jdbc:microsoft:sqlserver://w2kserver:1433;DatabaseName=desenv;User=sa;Password=sa”;
String consulta = “SELECT cliente,nome FROM cliente”;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection conn = DriverManager.getConnection(path_banco_dados);
// retira o autocommit
if (conn.getAutoCommit())
conn.setAutoCommit(false);
Statement st = conn.createStatement();
ResultSet resultado = st.executeQuery(consulta);
while (resultado.next()) {
out.println("Nome: " + resultado.getString("nome") + "<BR>");
out.println("Código: " + resultado.getInt("cliente") + "<BR>");
}
resultado.close(); // fecha o resultset
st.close(); // fecha o statement
conn.close(); // fecha a conexão com o SQL Server
}
catch (SQLException sqle) {
out.println("SQLException: " + sqle.getMessage());
}
%>
Na verdade o ideal é conectar-se por datasource/pool de conexões (não precisa colocar o Class.forName … ), já fiz testes utilizando o Sun ONE Application Server 7, aí vai o código (se alguém estiver afim de saber como configurar o SQL Server junto com o Sun ONE eu escrevo um tutorial) :
<%@page info = “teste do Douglas” %>
<%@page import=“java.sql.* ,javax.sql.,javax.naming., java.io.*” %>
<%
String consulta = “SELECT cliente,nome FROM cliente”;
InitialContext ctx = new InitialContext();
DataSource ds = null;
try {
ds = (DataSource)ctx.lookup("jdbc/mssqldesenv");
Connection conn = ds.getConnection("sa", "sa");
// retira o autocommit
if (conn.getAutoCommit())
conn.setAutoCommit(false);
Statement st = conn.createStatement();
ResultSet resultado = st.executeQuery(consulta);
while (resultado.next()) {
out.println("Nome: " + resultado.getString("nome") + "<BR>");
out.println("Código: " + resultado.getInt("cliente") + "<BR>");
}
resultado.close(); // fecha o resultset
st.close(); // fecha o statement
conn.close(); // fecha a conexão com o SQL Server
}
catch (NamingException ne) {
out.println("NamingException " + ne.getMessage());
}
catch (SQLException sqle) {
out.println("SQLException: " + sqle.getMessage());
}
ae rbaroni
tem algum diver que eu possa usar tanto para um SGBD de windows qto um pra linux e que nao preise configurar , tipo esse jtds?
claro que sendo o mesmo SGBD… tipo o oracle que existe pra win linux…
po kra
eu nem sabia q dava pra configurar uma fonte odbc em java pra mim era um padrao da micro$oft… num eh nao/
como q eu faco pra configurar um odbc em linux?
ae rbaroni
seguinte
eu soh queria ter algum modo q funcionasse pra as duas plataformas…
tipo com jdbc vc nao tem fazer a ponte?
akela parada de jdbc:nomeDaPonte
q tipo seria para odbc
jdbc:odbc
???
valews pela paciencia!