Re: Cadena con dos puntos

From: "jvenegasperu (dot)" <jvenegasperu(at)gmail(dot)com>
To: Francisco Olarte <folarte(at)peoplecall(dot)com>
Cc: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Cadena con dos puntos
Date: 2017-01-23 16:56:58
Message-ID: CA+KjtGdVpo37WnZv+4eneFOsEdCQO5XG-DUF6zRju5p5tdMuxw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola Francisco
Gracias por responder tienes razon.

Estoy revisando y resulta que php si estaba insertando correctamente la
información lo que pasaba es que pgAdmin cuando le haces un select * from
tabla solo muestra el primer renglon. y ni un indicador que el campo tiene
mas de uno entonces parecia que no se insertaba nada como dices caprichitos
de pgadmin.

Por otro lado la cadena de texto venia de un webservice que por alguna
razon empieza con un retorno de carro al hacer el trim se borraba el primer
retorno de carro y luego se mostraba la palabra detalle: y luego del dos
puntos habia otro retorno de carro.

Asi que todo bien solo tengo que limpiar el retorno de carro de la salida
del del ws y mirar la información con otro cliente que no me genere dudas
como pgAdmin

Nuevamente gracias por tu tiempo

El 23 de enero de 2017, 11:07, Francisco Olarte <folarte(at)peoplecall(dot)com>
escribió:

> Buenos dias:
>
> 2017-01-23 16:24 GMT+01:00 jvenegasperu . <jvenegasperu(at)gmail(dot)com>:
> > insert into
> > cdrs.errores_sunat
> > (faultcode,faultstring,invoice_type_code,s_num,ambiente,lado,metodo)
> > values ('.200',$$ Detalle: Failed to establish a backside
> > connection$$,'RA','FF14-1','beta',':Serve','getStatus');
>
> La parte problematica al menos parece no dar problemas:
>
>
> n=> values ('.200',$$ Detalle: Failed to establish a backside
> connection$$,'RA','FF14-1','beta',':Serve','getStatus');
> column1 | column2 |
> column3 | column4 | column5 | column6 | column7
> ---------+--------------------------------------------------
> ---+---------+---------+---------+---------+-----------
> .200 | Detalle: Failed to establish a backside connection | RA
> | FF14-1 | beta | :Serve | getStatus
> (1 row)
>
> > 1.- Cuando intento guardar con pgadmin o php con el espacio en blanco al
> > inicio guarda todos los campos excepto este campo y no me devuelve ningun
> > error
> > 2.- Cuando quito el espacio al inicio de la cadena he intento guardar con
> > pgadmin si me guarda el campo
>
> Eso tiene toda la pinta de ser caprichitos de pgAdmin, no lo us nunca,
> pero es posible que si pones que version (de pgAdmin) usas ( ya que si
> no recuerdo mal acaban de sacar una nueva ) alguien te pueda ayudar.
>
> > 3.- Cuando quito el espacio al inicio de la cadena he intento guardar con
> > php solo me guarda "Detalle:" y se corta donde empieza los dos puntos
>
> Eso tiene toda la pinta de que el PHP te este usando, en su subsistema
> de base de datos, los : como marcador de campo a sustituir por nombre.
> No estoy familiarizado con el, pero en las docs estara y cosas como
> esas pasan en muchas API.
>
> En general, desde un programa, NUNCA uses una cadena con el query
> completo, usa sustituciones, cosas tipo execute('insert into
> cdrs.errores_sunat
> (faultcode,faultstring,invoice_type_code,s_num,ambiente,lado,metodo)
> values (?,?,?,?,?,?)',
> '.200',
> "Detalle: Failed to establish a backside connection",
> 'RA','FF14-1','beta',':Serve','getStatus')
>
> La sintaxis exacta variara con el lenguage / requester que uses, pero
> todos lo soportan, y ademas si tienes las cosas en variables como
> suele pasar es mucho mas comodo (execute($query, $v1, $v2, ....), RTFM
> for details pero seguro que se puede ).
>
> > Quitar el espacio al inicio me supone menos espacio usado por el
> registro y
> > se soluciona con un trim.
> > Sin embargo desde php me corta la cadena hasta los dos puntos alguien me
> > podria indicar como podria grabar esa cadena incluido los dos puntos y me
> > queda la duda no se puede insertar en postgres una cadena que empieza con
> > espacio en blanco?
>
> Si que se puede, tu problema parece ser de los programas clientes que
> usas. Usando uno sencillito ( el psql que viene incluido ):
>
> n=> create temporary table t (v varchar);
> CREATE TABLE
> n=> insert into t values (' '), ($$ $$), (' $$ $$ '), ($$ ' ' $$);
> INSERT 0 4
> n=> select '<'||v||'>', length(v) from t;
> ?column? | length
> -----------+--------
> < > | 1
> < > | 1
> < $$ $$ > | 7
> < ' ' > | 5
> (4 rows)
>
> Francisco Olarte.
>

--
José Mercedes Venegas Acevedo
cel Mov RPC 964185205

skype jvenegasperu
facebook jvenegasperu
<jvenegasperu(at)gmail(dot)com>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Francisco Olarte 2017-01-23 18:53:11 Re: Cadena con dos puntos
Previous Message Francisco Olarte 2017-01-23 16:07:29 Re: Cadena con dos puntos