Problema Vista su campo ntext
wkgrp
wkgrp non è online. Ultima attività: 02/12/2008 12.58.39wkgrp
il 2 dicembre 2008 alle 11.56
6 messaggi dal 21 agosto 2008
Buongiorno a tutti,
faccio una premessa chiedendo scusa agli admin, se il thread non è aperto nella sezione corretta.
Comunque, ho un problema su una DetailsView probabilmente derivante dalla vista a cui si appoggia.
Ho un campo 'Note' all'interno del DB (SqlServer) definito come ntext dove ho necessità di salvare il più possibile delle informazioni. In fase di INSERT i dati vengono salvati correttamente ( ho provato oltre i 90 caratteri ed è tutto ok), ma quando invoco tale campo all'interno di una vista i campi vengono troncati a 30 caratteri ( ho definito il campo nella vista come Note = convert(varchar, C.Note) ). Ho provato a sostituire varchar con ntext ma ahimè SqlServer mi restituisce nell'esecuzione dello script per la creazione/modifica della vista il seguente errore:

Impossibile selezionare come DISTINCT il tipo di dati ntext perché non è confrontabile.

qualche idea?
Microsoft Most Valuable Professional
RE: Problema Vista su campo ntext
Andrea Montanari
Andrea Montanari non è online. Ultima attività: 05/07/2009 17.54.03Andrea Montanari Top Poster
il 3 dicembre 2008 alle 01.05
Contributi | www.asql.biz | 1.135 messaggi dal 27 luglio 2005
salve
wkgrp ha scritto:
Buongiorno a tutti,
faccio una premessa chiedendo scusa agli admin, se il thread non è aperto nella sezione corretta.
Comunque, ho un problema su una DetailsView probabilmente derivante dalla vista a cui si appoggia.
Ho un campo 'Note' all'interno del DB (SqlServer) definito come ntext dove ho necessità di salvare il più possibile delle informazioni. In fase di INSERT i dati vengono salvati correttamente ( ho provato oltre i 90 caratteri ed è tutto ok), ma quando invoco tale campo all'interno di una vista i campi vengono troncati a 30 caratteri ( ho definito il campo nella vista come Note = convert(varchar, C.Note) ).


la tua definizione di conversione, CONVERT(varchar, col), non ha definito la dimensione della colonna di testo, che quindi viene implicitamente impostata a 30 caratteri, cioe' quello che in effetti ti viene ritornato...

Ho provato a sostituire varchar con ntext ma ahimè SqlServer mi restituisce nell'esecuzione dello script per la creazione/modifica della vista il seguente errore:

Impossibile selezionare come DISTINCT il tipo di dati ntext perché non è confrontabile.

qualche idea?

l'idea sarebbe quella di modificare la query, in modo da non utilizzare un distinct che esegue un raggruppamento sull'identita' di riga proiettata restituendo appunto 1 sola riga per ognuno dei raggruppamenti riscontrati..
altra soluzione sarebbe quella di definire la dimensione della conversione dell'output (vedi sopra) e quindi indicare ad esempio CONVERT(varchar(n), colonna), dove "n" e' la dimensione massima.. se utilizzi SQL Server 2005 o successivo, puoi utilizzare il varchar(MAX), che limita il contenuto a 2gb, diversamente il limite ti resta 8000 caratteri..
saluti

Andrea Montanari (Microsoft MVP - SQL Server)
http://www.asql.biz - http://italy.mvps.org
http://www.hotelsole.com - http://www.hotelsolericcione.de

Vai a:
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.

COMMUNITY
ULTIMI MESSAGGI
MEDIA
IN EVIDENZA
MISC
Powered by .db Forums "Caesar Reborn" v. 2009.6.9