Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Inserimento query

  1. #1

    Inserimento query

    Buongiorno,
    purchè l'oggetto della discussione sia alquanto banale, ho un problema con l'inserimento di una query in asp.net . La cosa che mi lascia meravigliato / perplesso è che se eseguo il debug dal mio pc la query viene inserita con successo, andando poi a portare il codice sul server dove gira IIS con asp.net mi da un problema sulla data.

    Per semplificare vi porto una porzione di codice :

    codice:
    "INSERT INTO dbo.eventi (Funzione , TipoSoggetto , IdOperatore , IdMacchina , Identificativo , Quantita , TipoAttivita , OrdineUtente , FaseUtente , Data , Ora , Terminale) " + "VALUES ('30500' , 'O' , '" + numero_badge + "' , 'lallo' , 'pippo' , '0' , 'pluto' , 'NULL' , 'NULL' , '" + DateTime.Now.Date.Year + "-" + DateTime.Now.Date.Month + "-" + DateTime.Now.Date.Day + "' , '1899-12-30 " + DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString() + ":" + DateTime.Now.Second.ToString() + "' , '" + Dns.GetHostName() + "')";
    Sul mio client mi esegue la query (se faccio il debug dell'applicazione quindi e non se punto al server dove gira asp.net), se la eseguo sul server mi da questo errore :

    codice:
    [SqlException (0x80131904): String or binary data would be truncated.
    Ora è possibile che se lancio dal client in debug funzioni e sul server no?

    Grazie anticipatamente.
    PS : La query se lanciata con comando SQL da sql studio express non mi restituisce questo errore!

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    ovviamente la domanda è: il db dei due casi, è lo stesso ?

  3. #3
    Ciao grazie mille della risposta, ti spiego cosa accade :
    1) Programmo ll mio "bellissimo" Default.aspx
    2) Faccio play(debug) in questo modo mi si apre il browser dove testo Default.aspx

    Fin qui tutto molto bello le query d'inserimento funzionano a meraviglia, a questo punto vado su Build e faccio publish solution prendo i file così generati e le inserisco in una cartella nel mio server dove gira il servizio IIS con asp.net.

    A quel punto mi collego in desktop remoto al mio server e scrivo la seguente sintassi :

    http://mioserver/SampleWebSite/Default.aspx

    La pagina "magicamente" si apre e tutto funziona (gli eventi , cambio colori di tetbox), ma al momento della query mi da l'errore segnalato.

    Chiaramente i due database sono gli stessi io ho capito che probabilmente è qualche campo che è più lungo di quello che il database si aspetta ma ho scritto qui in quanto non riesco a capire dal mio client al server cosa cambi!

    Forse il net framework? e anche se fosse che attinenza ha con la sintassi sql?

  4. #4
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,290
    Si, ma la domanda era:
    Il db dei due casi sono gli stessi?
    Ossia il tuo client e il server sei sicuro che puntino allo stesso database?
    Prova a stampare i valori che tenta di inserire il server per verificare che effettivamente non ci sia qualcosa di strano (vedo un Dns.GetHostName() che varia da client a server)

  5. #5
    si puntano allo stesso server e allo stesso db essendo il codice lo stesso come potrebbe variare? (potrebbe?)

    Ecco la stringa di connessione :

    codice:
    SqlConnection objSqlConnection = new SqlConnection("user=paperino;password=pippo;database=raaccolta_dati;server=server02");
    La stringa è chiaramente scritta nel codice e fa riferimento al nome del server dove è hostato il db e non all'indirizzo IP.

  6. #6
    Ragazzi ho risolto ed era una cosa davvero banale e mi dispiace avervi fatto perdere del tempo.
    Il problema era il Dns.GetHostname() che nel mio caso è = a 'pc122' eseguendo l'applicativo sul server l'hostname era uguale a "server02" il database non accetta tutti quei caratteri nel campo terminale e quindi mi dava questo problema.

    Voglio comunque segnalare eventualmente per altri che per fare un buon debug nel caso in cui l'applicativo è sviluppato in un terminale diverso da quello dove gira IIS con asp.net che con questa istruzione :

    codice:
    System.Web.HttpContext.Current.Response.Write("THIS IS SO BAD!!!! " + query);
    è possibile visualizzare le variabili in questo modo io mi sono accorto della query incriminata che diversamente da come dichiarato anche sull'ambiente sql express non funzionava.

    Vi ringrazio del supporto datomi, grazie e buon lavoro!!!

  7. #7
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Originariamente inviato da submother
    con questa istruzione :
    codice:
    System.Web.HttpContext.Current.Response.Write("THIS IS SO BAD!!!! " + query);
    secondo me questa funziona ancora meglio:
    codice:
    Response.Write("My love life is terrible. The last time I was inside a woman was when I visited the Statue of Liberty.  " + query);

  8. #8
    Cosa cambia tra i due?

  9. #9
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Originariamente inviato da submother
    Cosa cambia tra i due?
    L'occupazione dell'output sul monitor

    Scusa, ma era un modo per sottolineare l'ovvietà del tuo ultimo post con la soluzione (non prendertela, qui si scherza anche)

  10. #10
    E invece me la sono presa
    Vai tranquillo è un forum più spiegazioni ci sono meglio è per tutti! Grazie ancora pensa si possa chiudere!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.