Problema new line in SQL SERVER 2008 R2

venerdì 23 marzo 2012 - 09.04
Tag Elenco Tags  SQL Server 2008 R2

sandroid Profilo | Newbie

Buongiorno, devo copiare del testo da uno XAML dentro una colonna varchar(MAX) e vorrei farlo a mano, solo che, come mi accadeva nelle precedenti versioni, ciò non è possibile: copia solo la prima linea, appena trova il carattere di fine riga ignora tutto il resto. Per ora l'unico modo che ho trovato è fare una store procedure per inserire il tutto, ma è abbastanza scomodo visto che l'inserimento lo dovrebbe fare un mio collega ed è abbastanza restio ad usare questo metodo. Pertanto mi chiedevo se esistesse, in questa nuova release, una qualche opzione che permetta la copia diretta in una colonna, ignorando i caratteri di new line.

Grazie, ciao.

Sandro Santucciu

lbenaglia Profilo | Guru

>Buongiorno, devo copiare del testo da uno XAML dentro una colonna
>varchar(MAX) e vorrei farlo a mano, solo che, come mi accadeva
>nelle precedenti versioni, ciò non è possibile: copia solo la
>prima linea, appena trova il carattere di fine riga ignora tutto
>il resto.

Ciao Sandro,

Puoi postare un esempio di codice (CREATE TABLE, INSERT INTO) che riproduca il problema?

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

sandroid Profilo | Newbie

Grazie per la puntuale risposta, dunque la SP che ho fornito al mio collega è molto semplice e funziona bene:

CREATE PROCEDURE P_INSERT_MODULE_CATALOG (@STATION_ID INT,@MODULE_CATALOG VARCHAR(MAX))
AS
BEGIN
SET NOCOUNT ON;

INSERT INTO INI_STATION_MODULE_CATALOG
SELECT @STATION_ID,@MODULE_CATALOG
END
GO

mentre, se può servire, ho preso anche lo script per creare la tabella in questione:


CREATE TABLE [dbo].[INI_STATION_MODULE_CATALOG](
[STATION_ID] [int] NOT NULL,
[MODULE_CATALOG] [varchar](max) NULL,
CONSTRAINT [PK_INI_STATION_MODULE_CATALOG] PRIMARY KEY CLUSTERED
(
[STATION_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

Il mio problema è che questo inserimento vorrei poterlo fare a mano anziche chiamare una SP, solo che viene tutto troncato alla prima linea.

Saluti,
Sandro Santucciu.

lbenaglia Profilo | Guru

>Il mio problema è che questo inserimento vorrei poterlo fare
>a mano anziche chiamare una SP, solo che viene tutto troncato
>alla prima linea.

Ciao Sandro,

A me non risulta:

USE tempdb; CREATE TABLE dbo.INI_STATION_MODULE_CATALOG( STATION_ID int NOT NULL, MODULE_CATALOG varchar(max) NULL, CONSTRAINT PK_INI_STATION_MODULE_CATALOG PRIMARY KEY(STATION_ID) ); INSERT dbo.INI_STATION_MODULE_CATALOG VALUES (1, 'Riga 1 Riga 2 Riga 3'); SELECT * FROM dbo.INI_STATION_MODULE_CATALOG; /* Output: STATION_ID MODULE_CATALOG ----------- --------------- 1 Riga 1 Riga 2 Riga 3 (1 row(s) affected) */ DROP TABLE dbo.INI_STATION_MODULE_CATALOG;

Come fai a dire che tronca alla prima riga? Non può essere un problema di visualizzazione del result set relativo al client che utilizzi per eseguire la query?

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5