Newsgroup: it.comp.java
Titolo: Estrazione dati da db MS Sql Server 2005

ho un database MS SQLServer 2005 che è utilizzato
da un software CRM che si chiama
Movex Sales & Marketing System (SMS)
ora questo crm fa veramente c@..are ma ormai è stato preso
e pazienza.... il problema è che hanno bisogno di report sulle
visite, numero, media, tipo di attività, ecc. per venditore.
Riesco ad ottenere un mallopone in pdf con la descrizione
del database e mi dico: "sono a cavallo" e quindi vai con:
select * from activity ecc. ecc.
dunque, le date sono così: 39413.625555555554 e come mi
è stato suggerito su it.comp.software.database ho fatto questo:
SELECT CAST(STARTDATE AS datetime) AS Data1
che mi restituisce una data umana: 2007-11-29 15:00:47.997
mah!!!
se interrogo la stessa visita dall'applicativo (un client VB suppongo)
le date sono tutte due giorni indietro, in questo caso sarebbe il 27/11
come ottengo la data corretta?

il 08/10/2008 15.38, Scrive Cosimo Piceno 31106792:

Anche qua? Vabbe' anche qua.
:-)
Il MS sql server, differentemente da tutti i db seri, non implementa 
DATE TIME e TIMESTAMP, gia' presenti nell'iso'92, ma quella ciofeca del 
DATETIME che altro non e' che il formato della data dell'excel, ovvero 
la mantissa rappresenta il numero di giorni trascorsi dal 1/1/1900 e la 
caratteristica che rappresenta la porzione di tempo trascorsa dalla 
mezzanotte (quindi mezzogorno e' 0,5), valori negativi si riferiscono a 
date precedenti alla data base. Da cui se ne deduce che:
GregorianCalendar base = new GregorianCalendar(1900, 1, 1)
rappresenta la data base
int giorni = (int)39413.625555555554
e' la data
int millisecondi= (int)((double)(39413.625555555554 - giorni))*86400000
e' l'ora (86400 secondi per giorno solare medio)
per cui la data sara'
base.add(Calendar.DAY_OF_MONTH, giorni )
crea la nuova data
base.add(Calendar.MILLISECOND, millisecondi)
Date data = base.getTime();
-- 
Dr.Ugo Gagliardelli,Modena,ItalyCertifiedUindoscrasherAñejoAlcoolInside
Spaccamaroni andate a cagare/Spammers not welcome/Spammers vão à merda
Spamers iros a la mierda/Spamers allez vous faire foutre/Spammers loop
schijten/Spammers macht Euch vom Acker/Spamerzy wypierdalac'


Cosa c'entra con Java?
-- 
Andrea Francia
http://andreafrancia.blogspot.com/2008/07/colinux-linux-dentro-windows.html

 DATETIME che altro non e' che il formato della data dell'excel,
bene!
allora mi trasferisco in ambiente MS Office così tutto andrà a posto!!!
scarico il driver ODBC e provo a estrarre i dati in Excel tramite
Microsoft Query...
- e cosa c'entra con Java? -
voglio vedere se attraverso il driver ODBC i dati siano convertiti
ed eventualmente usare il bridge invece del jdbc
Bello,
la selezione sulle date non converte i valori per cui se voglio
selezionare un periodo devo impostare per es.
startDate>=39413.625555555554 AND startDate<=39413.625555555554
davvero comodo ...
no dai, basta così,
ho deciso in questo preciso istante che rifiuto il lavoro.

Nuovo quesito,
le note sono memorizzate in un campo binary
quindi provo a gestirlo in questo modo:
inputStream = r2.getBinaryStream("Notebook");
byte[] readBuffer = new byte[9999];
     try
     {
      while (inputStream.available() > 0)
      {
       int numBytes = inputStream.read(readBuffer);
      }
      System.out.println(new String(readBuffer));
     }
     catch (IOException e)
     {
     }
il risultato è il seguente:
{\rtf1\ansi\ansicpg1252\deff0\deflang1040{\fonttbl{\f0\fswiss\fprq2\fcharset0 
Tahoma;}}
{\colortbl ;\red0\green0\blue0;}
\viewkind4\uc1\pard\ri100\cf1\f0\fs16 Preventivo Bordo cemento\par
Presentazione\par
}
le note che mi interessano sono:
Preventivo Bordo cemento
Presentazione
c'è un qualche parser che mi può aiutare?

 le note sono memorizzate in un campo binary
Mi passi il contatto del pusher di quelli che hanno progettato quel DB?
Sembra che spacci roba forte.
Y.


risolto!
     RTFEditorKit kit = new RTFEditorKit();
     Document doc = kit.createDefaultDocument();
     kit.read(inputStream, doc, 0);
     String plainText = doc.getText(0, doc.getLength());
     System.out.println("text: " + plainText);
Grande Java!!!

 c'è un qualche parser che mi può aiutare?
A vedere il buffer che leggi sembrerebbe un formto rtf


 ha scritto nel messaggio 
news:48f44cde$0$11390$5fc...@news.tiscali.it...

Lawson-Intentia
ma a onor del vero credo che il modulo CRM
lo abbiano acquisito da unna societą assorbita,
credo!