Mensagens enviadas por: douglasfs
Índice dos Fóruns » Perfil de douglasfs » Mensagens enviadas por douglasfs
Autor Mensagem
mas como vc faz as chamadas dos relatorios??
via servlet ou JSP??


Atualmente estou testando pelo Velocity (o padrão do OpenReports), nesse caso ele mostra uma lista de relatórios existentes, quando você executa o relatório junto com os parâmetros (ou sem ele), ele mostra a URL com os valores que ele utilizou, pretendo substituir esses valores pelos meus utilizando uma classe do tipo Action que despacha os valores para os relatório.
Eu utilizei o trio JasperReports, IReport e OpenReports (este último que coloca o relatório na WEB).
O design do relatório faço no IReport, compilo o relatório e distribuo no OpenReports (ele vem com o Servidor Jetty como default, mas para meus testes eu utilizei o Tomcat).
Em relação ao OpenReports não tem erro, ele vem com um manual de como distribuir o relatório compilado.

Boa sorte
No meu funcionou, também usei um contador para resolver o problema de outra maneira

import java.util.StringTokenizer;

public class Teste {
public static void main(String args[]) {
int contador = -1;
StringTokenizer st = new StringTokenizer("23/07/1982","/");
System.out.println(st.countTokens()-1);
while(st.hasMoreTokens()) {
st.nextElement();
contador++;
}
System.out.println(contador);


}
}
Também tem o método rollback() (sem parâmetros)
Eu estou utilizando o iReport 0.0.9, já tive um problema parecido com o seu, você tem que aumentar o tamanho do campo (ou a altura ou a largura), geralmente eu não utilizo o wizard, faço tudo manualmente
Na interface Connection tem o método rollback

public void rollback(Savepoint savepoint)
throws SQLExceptionUndoes all changes made after the given Savepoint object was set.
This method should be used only when auto-commit has been disabled.

Parameters:
savepoint - the Savepoint object to roll back to

Só que antes, você deve executar o setAutoCommit(false) (o default é true), senão toda declaração insert, update, etc vai ser comitada no banco de dados
Antes de mais nada, Daniel seja bem vindo.

Você pode encontrar mais informações nesse site :

http://www.agiledata.org/essays/mappingObjects.html

Eu estou utilizando a ferramenta CASE Rational Rose 2002 para criar meu projeto final de curso na faculdade, para você ter uma noção, esse CASE mapeia suas classes para tabelas no banco de dados (Oracle, SQL Server, DB2, ANSI 92) automaticamente, incluindo as heranças, relacionamentos todo parte, etc.
Eu vi, muito interessante, eu utilizo o Sun ONE AS 7 Plataform Edition a algum tempo para testar Servlets, JSP, EJB, só uma dúvida :

O S1AS 7 Plataform Edition é gratuito para uso comercial ?
Este é um exemplo bem básico de conexão com o MySQL através do JSP

<%@page info = "teste do Douglas com o MySQL" %>
<%@page import="java.sql.* ,javax.sql.*, java.io.*" %>

<%
String sql = "select 20";
try {
// Carrega a classe
Class.forName("com.mysql.jdbc.Driver").newInstance();
//localhost é o nome do servidor
//test é o nome do banco de dados (geralmente já vem na instalação do mysql)
Connection c = DriverManager.getConnection("jdbc:mysql://localhost/test");
System.out.println("Conectado ao MySQL");
Statement s = c.createStatement();
// Query a ser executada
ResultSet r = s.executeQuery(sql);
if (r.next()) {
out.println("Resultado: " + r.getInt(1));
}
else {
out.println("Erro ao buscar os dados ...");
}
r.close(); // fecha o resultset
s.close(); // fecha o statement
c.close(); // fecha a conexão com o Oracle
}
catch (Exception e) {
System.out.println(e.getMessage());
}
%>
Antes que eu me esqueça, quem baixar o driver JDBC do site da microsoft, nele vem o manual de instalação !

Se alguém estiver com dúvida na instalação, estaremos a disposição
poli, seu e-mail está correto ? ele está voltando !

polinet-mauro@uol.com.br
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());
}

%>
Primeiro você tem que baixar o driver jdbc (reponsável pela conexão de aplicações java ao banco de dados) do site da microsoft (http://www.microsoft.com/downloads/details.aspx?FamilyID=4f8f2f01-1ed7-4c4d-8f7b-3d47969e66ae&DisplayLang=en), depois seria legal você dar uma lida no java tutorial, na parte de conexão com banco de dados (http://java.sun.com/docs/books/tutorial/jdbc/index.html), se você não estiver com pressa eu posso lhe enviar um exemplo que eu fiz em minha casa usando JSP acessando o SQL Server 2000 Personal Edition.
Pittella, quando eu fiz testes com o MySQL peguei o driver "stable" (http://www.mysql.com/downloads/api-jdbc-stable.html), acho que você pegou o beta, nesse caso o stable vem com um arquivo .jar e também tem um arquivo README ensinando como instalar o driver, eu cheguei a fazer testes do MySQL com o servidor de aplicações Sun ONE Application Server 7 (usando pool de conexões e testes no JSP), que por sinal eu até fiz um tutorial, ele está pronto e vou publica-lo no GUJ assim que eu tiver tempo de aprender Velocity.

Quem estiver afim desse tutorial eu envio por e-mail o tutorial zipado
Você pode ver os servidores de aplicações compátiveis com J2EE em http://java.sun.com/j2ee/compatibility.html
Eu utilizo o Sun ONE Application Server 7 Plataform Edition da Sun (http://wwws.sun.com/software/products/appsrvr/home_appsrvr.html) na minha casa (está instalado no Windows 2000 Server, ele é gratuito para desenvolvimento), ele é muito bom, inclusive ele está integrado ao Sun ONE Studio 4 Update 1 Enterprise Edition, você pode ver os preços em:

http://wwws.sun.com/software/products/appsrvr/buy.html
 
Índice dos Fóruns » Perfil de douglasfs » Mensagens enviadas por douglasfs
Ir para:   
Powered by JForum 2.1.8 © JForum Team