Originariamente inviato da Spectrumino
Buoooooon giorno,
spero di aver azzeccato la sezione in cui postare, visto che, secondo me, è un problema di server e non di ASP, comunque...
uploadando un sito in ASP che ho sviluppato per un cliente sul suo server (Win2003server) mi sono accorto che funzionava diversamente da come funziona in locale e sul mio web-server di prova.
Durante una SELECT:
codice:
strSql = "SELECT *"
strSql = strSql & " FROM tabella, altraTabella"
strSql = strSql & " WHERE campo=valore"
strSql = strSql & " AND altroCampo=TRUE "
strSql = strSql & " ORDER BY cint(campoTestuale) "
...come dicevo sui miei server non ha problemi e ordina numericamente quei record secondo quel campo che, anche se di tipo testo, contiene solo numeri.
Sul server del cliente, invece, ignora completamente la conversione da stringa a numero e persevera nell'ordinare alfabeticamente i risultati.
Ho provato ad arrampicarmi sugli specchi usando anche questi disperati trucchetti, pensando che il cint() avesse problemi su quel server:
codice:
ORDER BY round(campoTestuale,2)
---- oppure ----
ORDER BY (campoTestuale/1)
---- e anche ----
strSql = strSql & " ORDER BY IIf(IsNumeric(campoTestuale),0,campoTestuale),Val(campoTestuale)
ma come se ne deduce dal fatto che scrivo questo messaggio... non funzionano.. e, pur non generando errori, non ordinano in maniera corretta.
Ho iniziato a pensare che il nuovo webserver del cliente abbia qualche problema con quel tipo di conversione... vi pare possibile?
E' un server vergine appena installato, ho dovuto settargli alcuni parametri di timeout e l'aspMaxEntityAllowed nel metabase per l'upload ma non saprei cosa settare di inerente al mio problema.
Sapete mica se c'è qualcosa da settare nell'ISS o nel sistema stesso? può essere un problema di bios? qualche casino con le operazioni in virgola mobile, forse? il resto del sito, dove non si fa uso di cint(), funziona benissimo anche su query molto più avanzate
Aiutate sto frescon...
...a trovar la soluzion!
:master: Spectumino