my.ASPItalia.com
ASP.NET
|
HTML5
|
LINQ e Entity Framework
|
Silverlight
|
Windows Phone
|
.NET Framework
|
Libro WP7
|
Libro HTML5
|
Corso on-site HTML5
Iscriviti
Login
Newsletter
Home
Articoli
Script
Notizie
FORUM
Blogs
Lab
Media
Tutorials
Corsi
Libri
Tags
Tutti i forum
Ricerca
FAQ
Fai una domanda
Oracle ODAC
in
Misc
>
SQL Server e MySQL
Ultimo messaggio
JoeRuspante
il 25 agosto 2009 alle 11:52
350 messaggi
dal 08 febbraio 2009
Salve a tutti.
Ho una macchina con la seguente configurazione:
- Windows Server 2003 sp2
- Oracle 10g version 10.2.0.1.0
- ODAC versione 11.1.0.6.21
- IIS 6
A questo punto ho un'applicazione webserver (che gira su IIS) che accede ai dati su Oracle.
L'architettura è la seguente:
WCF -> Accede ad Oracle
WPF -> Chiama WCF che accede ad Oracle
Il mio problema è il seguente: se uso il driver Microsoft (System.Data.OracleClient), allora l'applicazione mi estrae tutti i dati, però per farlo ci mette circa 7 secondi.
Pertanto ho provato ad usare il driver Oracle (Oracle.DataAccess.Client) per velocizzare il tutto. Effettivamente si velocizza parecchio (da 7 secondi passiamo a quasi 2), però non vengono estratti tutti i dati...
La cosa strana è che se lancio la query a mano (SQL plus) i dati sono corretti... Se la medesima query la lascio fare al programma .NET (debug), non mi estrae nulla. La query, però, non è unica! Ho diverse query e solo alcune non vanno.
Purtroppo non so cosa poter guardare, specie perchè se cambio il file di configurazione e ripristino il driver di Microsoft, tutto funziona correttametne (lentezza esclusa).
Da questo test deduco che il programma sia corretto (le query sono giuste) e il server Oracle è configurato bene e non ha problemi (altrimenti non doveva funzionare).
Qualcuno sa se ci sono delle limitazioni nel driver di Oracle? Oppure se ci sono dei bug... (per esempio ho scoperto che la versione 10 del client Oracle per Linux si blocca dopo circa un mese, non vorrei ci fossero problemi anche col driver Oracle).
Però, prima di dare la colpa ad Oracle, mi piacerebbe capire cosa posso controllare e se qualcuno ha già avuto questo problema
Rispondi
Quoting
Cradle
il 25 agosto 2009 alle 14:33
1.856 messaggi
dal 01 luglio 2004
Contributi
www.aspitalia.com
|
Blog
Mmmmm... guarda... con Oracle io di problemi ne ho avuti tanti, ma di questo genere mai.
Non sono un espertone del campo, però, ma mi suona strana una limitazione del genere.
Sicuro che le due implementazioni che hai realizzato siano analoghe?
Rispondi
Quoting
JoeRuspante
il 25 agosto 2009 alle 15:23
350 messaggi
dal 08 febbraio 2009
Non ho due implementazioni...
Ne ho una sola. l'unica differenza è nella stringa di connessione.
In pratica ho installato il tutto sul server windows 2003 (col driver di Microsoft) e il client funziona bene (ma con 7 secondi di latenza).
Vado in c:\inetpub\wwwroot.... e cambio il file di configurazione. Riavvio IIS (tanto ho solo quel servizio), riaccedo col medesimo client al medesimo server e l'applicazione non funziona più (ovvero mi carica meno dati del previsto).
Per cui non è che cambio qualcosa fra le due configurazioni, bensì cambio solo il file di connessione, quindi la parte "software" è la medesima.
Non solo! Ho anche provato da VS per capire cosa potesse essere. Andando in debug, quando arrivo alla query incriminata, subito prima di farla eseguire al .NET la eseguo a mano da SQL-Plus... SQL-Plus mi torna dei dati, la query su .NET no...
Cambiando il file di configurazione, rilancio il tutto da VS, mi rifermo nello stesso punto (break-point) e rifaccio la stessa cosa... In tal caso, però, i dati ricevuti sono gli stessi di SQL-Plus.
Questo non riesco a capirlo...
Non vorrei ci fosse qualche problema a livello di "tipo di campo" (che ne so, magari con dei problemi nella conversione di stringhe o altro)... Però le query sono semplici, per cui mi sembra una cosa così strana...
Non so però come intervenire nè cosa poter guardare
Rispondi
Quoting
JoeRuspante
il 25 agosto 2009 alle 18:48
350 messaggi
dal 08 febbraio 2009
Trovato!!!!
Non mi ero accorto di una "try/catch" che mi nascondeva l'exception che ricevevo...
In pratica la differenza fra i due driver che a me dava fastidio è che se eseguo una query che estrae un Decimal (numero piuttosto grande) e cerco il valore con reader.getInt32(colonna), il driver di Microsoft fa il cast in automatico, mentre il driver Oracle segnala un'eccezione...
Ovviamente è corretto che venga segnalato errore, però non avevo visto il try/catch che mi faceva perdere tutto...
Vabè, meglio così!!! (purtroppo la query aveva solo dei numeri, quindi le variabili erano sempre a zero per via di quel try/catch)
Beh, meglio così! Almeno ho risolto...
Rispondi
Quoting
Salto rapido
Ultimi messaggi
Tutti i forum
Ricerca
Utenti online
ASP.NET
ASP.NET 2.0
ASP.NET 3.5
ASP.NET 4.0
.NET Framework
Silverlight
Windows Phone
Windows Presentation Foundation e WinForms
Windows Communication e Workflow
ASP - avanzato
ASP - base
SQL Server e MySQL
Libri
Hosting
Altri linguaggi e tecnologie
Windows Server, IIS & Security
E-commerce
OT
Commenti: blogs e notizie
Eventi
Torna al forum
| Feed
RSS
ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
In primo piano
Speciale web mobile: costruire applicazioni con ASP.NET, jQuery Mobile e PhoneGap
Speciale Silverlight 5: tutte le novità
Rilasciato il bollettino MS11-100 per risolvere i problemi di attacchi DoS di ASP.NET
I più letti di oggi
Paginare con i numeri di pagina un datagrid
Concorso Windows Phone: AppLoad and win!
Microsoft lancia Windows 7 e Office 14
Preview 2 di ASP.NET MVC 2.0 ed una nuova versione per AJAX Control Toolkit
Visualizzare un template per browser mobile tramite un custom control ASP.NET
Proteggersi da attacchi di SQL e code injection con ASP
Contare i record restituiti da una query
Formattazione automatica dei TextBlock
Creazione di un alarm con suono personalizzato con Windows Phone 7.1
Speciale web mobile: costruire applicazioni con ASP.NET, jQuery Mobile e PhoneGap
Media
Windows Phone 7.5 Developer Day: marketplace e strumenti per monetizzare le app
Windows Phone 7.5 Developer Day: costruire app con Visual Studio 2010 e Windows Phone Runtime
Tutti i media
In evidenza
Speciale web mobile: costruire applicazioni con ASP.NET, jQuery Mobile e PhoneGap
Speciale Silverlight 5: tutte le novità
Sviluppare applicazioni per Windows Phone: scopri come fare con il nostro nuovissimo libro!
Sviluppa le applicazioni del futuro oggi: impara con il nostro libro HTML5 Espresso!
Community Days 2012 - Milano
Visualizzare un template per browser mobile tramite un custom control ASP.NET
Windows 8 su ARM: avrà il desktop, Office e il connected standby
Rilasciato Entity Framework 4.3
MISC
I nostri autori
Collabora con noi!
Media Kit - Pubblicità sul nostro network