Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Echo en un campo nvarchar(max)

Estas en el tema de Echo en un campo nvarchar(max) en el foro de PHP en Foros del Web. Amigos si ayuda por favor tengo el siguiente codigo <?php $listacampos2=<<<QUERY select d.NIG,aj.NUMPRO AS numpro, convert (VARCHAR(20), aj.CREACION_FECHA, 113) AS fechacrea, convert (VARCHAR(20),aj.CAMBIO_FECHA,113) AS fechamod, ...
  #1 (permalink)  
Antiguo 13/04/2016, 08:43
 
Fecha de Ingreso: abril-2016
Mensajes: 9
Antigüedad: 8 años
Puntos: 0
Exclamación Echo en un campo nvarchar(max)

Amigos si ayuda por favor tengo el siguiente codigo

<?php
$listacampos2=<<<QUERY
select d.NIG,aj.NUMPRO AS numpro,
convert (VARCHAR(20), aj.CREACION_FECHA, 113) AS fechacrea,
convert (VARCHAR(20),aj.CAMBIO_FECHA,113) AS fechamod, aj.ANYPRO AS anypro,
aj.DESCRIPCION AS descri,
aj.CONTENIDOJUSTICIA AS contejus, --este campo es nvarchar(max)
--'' AS descri,
--'' AS contejus,
aj.CREACION_USUARIO AS creacionusu,
di.PONENTE AS ponente,aj.CSV AS csv
from dasu d
inner join Actividades_Justicia aj on d.IDHISPRO=aj.IDHISPRO
inner join dhisiti di on d.IDHISPRO=di.IDHISPRO
where d.NIG='{$_POST["pVar1"]}'
QUERY;

$rs_gogessform = $DB_gogess->Execute($listacampos2);
if(!$rs_gogessform->EOF){
while (!$rs_gogessform->EOF) {?>
<tr class="linea1">
<td height=5 align="top"><?php echo $rs_gogessform->fields["fechacrea"];?></td>
<td height=5 align="top"><?php echo $rs_gogessform->fields["fechamod"];?></td>
<td><?php echo utf8_encode($rs_gogessform->fields["descri"]);?></td>
<td><?php echo utf8_encode ($rs_gogessform->fields["contejus"]);?></td> <!-- estoy imprimiento el valor en esta linea pero es demaciado grande el campo y no se que hacer -->
<td><?php echo $rs_gogessform->fields["creacionusu"];?></td>
<td><?php echo $rs_gogessform->fields["ponente"];?></td>



el problema esta marcado con rojo muchas gracias por su ayuda de ante mano
  #2 (permalink)  
Antiguo 13/04/2016, 08:46
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Echo en un campo nvarchar(max)

Cita:
estoy imprimiento el valor en esta linea pero es demaciado grande el campo y no se que hacer
¿Y nosotros que podríamos hacer?

Es decir, claro que se entiende que el campo o texto es muy largo ¿y?

¿Cual es tu propuesta de solución?

¿Qué tienes en mente?

¿Exactamente cual es el problema?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 13/04/2016, 08:49
 
Fecha de Ingreso: abril-2016
Mensajes: 9
Antigüedad: 8 años
Puntos: 0
Respuesta: Echo en un campo nvarchar(max)

en mi pc local funciona el codigo normal, pero lo subieron al servidor linux y el codigo dejo de funcionar, en realidad ya no se que hacer
  #4 (permalink)  
Antiguo 13/04/2016, 08:50
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Echo en un campo nvarchar(max)

Cita:
Iniciado por tatto_gjbh Ver Mensaje
en mi pc local funciona el codigo normal, pero lo subieron al servidor linux y el codigo dejo de funcionar, en realidad ya no se que hacer
Ah, al menos sí tienes un problema y no tuvimos que adivinarlo.

¿Ya revisaste en los logs de error por algo de información?

Que mirar el código no nos dice absolutamente nada.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 13/04/2016, 08:58
 
Fecha de Ingreso: abril-2016
Mensajes: 9
Antigüedad: 8 años
Puntos: 0
Respuesta: Echo en un campo nvarchar(max)

Fatal error: Uncaught exception 'ADODB_Exception' with message 'mssql error: [4004: Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier.] in EXECUTE(" select d.NIG,aj.NUMPRO AS numpro, convert (VARCHAR(20), aj.CREACION_FECHA, 113) AS fechacrea, convert (VARCHAR(20),aj.CAMBIO_FECHA,113) AS fechamod, aj.ANYPRO AS anypro, aj.DESCRIPCION AS descri, aj.CONTENIDOJUSTICIA AS contejus, --'' AS descri, --'' AS contejus, aj.CREACION_USUARIO AS creacionusu, di.PONENTE AS ponente,aj.CSV AS csv from dasu d inner join Actividades_Justicia aj on d.IDHISPRO=aj.IDHISPRO inner join dhisiti di on d.IDHISPRO=di.IDHISPRO where d.NIG='240112015000004'") ' in /var/www/html/ConsultaJusticia/adodb/adodb-exceptions.inc.php:78 Stack trace: #0 /var/www/html/ConsultaJusticia/adodb/adodb.inc.php(1035): adodb_throw('mssql', 'EXECUTE', 4004, 'Unicode data in...', ' select d.NIG,a...', false, Object(ADODB_mssql)) #1 /var/www/html/Consu in /var/www/html/ConsultaJusticia/adodb/adodb-exceptions.inc.php on line 78





aj.DESCRIPCION AS descri tiene el mismo valor declarado en la base de datos nvarchar(255) este campo se imprime normal
<td><?php echo utf8_encode($rs_gogessform->fields["descri"]);?></td> y le comento a script asi

--aj.CONTENIDOJUSTICIA AS contejus,
'' AS contejus, -- este campo entra vacio por eso asumo que es por lo extenso de los campos
  #6 (permalink)  
Antiguo 13/04/2016, 08:59
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Echo en un campo nvarchar(max)

Pues por el mensaje de error tu problema no es el código en sí, sino la codificación de tu base de datos, deberías consultar al respecto en el sub foro de base de datos.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 13/04/2016, 09:07
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Echo en un campo nvarchar(max)

Y que te lleva a pensar que es LA EXTENSION del campo con el error?

Ahi dice que la excepcion no puede ser detectada...

[4004: Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier.

La funcion probablemente no puede enviar datos por ser tal vez una función deprecada para esa versión de ODBC... la extensión del campo no tiene nada que ver... capaz sea el tipo de campo o similar...
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #8 (permalink)  
Antiguo 13/04/2016, 09:18
 
Fecha de Ingreso: abril-2016
Mensajes: 9
Antigüedad: 8 años
Puntos: 0
Respuesta: Echo en un campo nvarchar(max)

me lleva a pensar que es la extencion por que descri tiene la misma codificacion y si trae la informacion y la muestra
<td><?php echo utf8_encode($rs_gogessform->fields["descri"]);?></td>
por otra parte la linea de contejus es la que da problemas y arroja el error de Unicode
<td><?php echo utf8_encode ($rs_gogessform->fields["contejus"]);?></td>
  #9 (permalink)  
Antiguo 13/04/2016, 09:21
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Echo en un campo nvarchar(max)

La verdad, no se porque insistis en eso... el error te dice que está pasando, y te lo expliqué.. deberas hacer un downgrade de tu OBDC o bien, actualizar las funciones que usas para esas versiones de iSql...
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #10 (permalink)  
Antiguo 13/04/2016, 11:33
 
Fecha de Ingreso: abril-2016
Mensajes: 9
Antigüedad: 8 años
Puntos: 0
Respuesta: Echo en un campo nvarchar(max)

alguien mas que de ideas gracias...
  #11 (permalink)  
Antiguo 13/04/2016, 11:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Echo en un campo nvarchar(max)

Cita:
Iniciado por tatto_gjbh Ver Mensaje
alguien mas que de ideas gracias...
¿Ideas para qué?

El mensaje de error es tan claro que me extraña que busques "ideas" cuando lo que debes hacer es investigar la causa del error.

Tan fácil que es ponerse a investigar: 4004: Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #12 (permalink)  
Antiguo 13/04/2016, 11:58
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Echo en un campo nvarchar(max)

Cita:
Iniciado por pateketrueke Ver Mensaje
¿Ideas para qué?

El mensaje de error es tan claro que me extraña que busques "ideas" cuando lo que debes hacer es investigar la causa del error.
Lástima no hay un botón de LIKE para estos mensajes
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #13 (permalink)  
Antiguo 13/04/2016, 13:20
 
Fecha de Ingreso: abril-2016
Mensajes: 9
Antigüedad: 8 años
Puntos: 0
De acuerdo Respuesta: Echo en un campo nvarchar(max)

Cita:
Iniciado por loncho_rojas Ver Mensaje
Lástima no hay un botón de LIKE para estos mensajes

lastima no hay un boton para p@#$%#$"$
  #14 (permalink)  
Antiguo 13/04/2016, 14:23
 
Fecha de Ingreso: abril-2016
Mensajes: 9
Antigüedad: 8 años
Puntos: 0
De acuerdo Respuesta: Echo en un campo nvarchar(max)

Cita:
Iniciado por pateketrueke Ver Mensaje
¿Ideas para qué?

El mensaje de error es tan claro que me extraña que busques "ideas" cuando lo que debes hacer es investigar la causa del error.

Tan fácil que es ponerse a investigar: 4004: Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier.
:patad a:



para las dos locas que se la tiraban de sabiondas les dejo la solucion

CAST (aj.CONTENIDOJUSTICIA AS nvarchar(4000)) AS contejus

converti el campo en un nvarchar de 400o asi entro en el campo solicitado, no puestro todo pero muestro lo suficiente
  #15 (permalink)  
Antiguo 13/04/2016, 14:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Echo en un campo nvarchar(max)

No es correcto que insultes porque nadie te ha faltado al respeto, por favor evita ser sancionado y que tu cuenta sea eliminada.

Te invito a leer las normas de convivencia en el foro para que aprendas a comunicarte con respeto.

Saludos y en hora buena por tu solución.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #16 (permalink)  
Antiguo 13/04/2016, 14:30
 
Fecha de Ingreso: abril-2016
Mensajes: 9
Antigüedad: 8 años
Puntos: 0
De acuerdo Respuesta: Echo en un campo nvarchar(max)

Cita:
Iniciado por pateketrueke Ver Mensaje
No es correcto que insultes porque nadie te ha faltado al respeto, por favor evita ser sancionado y que tu cuenta sea eliminada.

Te invito a leer las normas de convivencia en el foro para que aprendas a comunicarte con respeto.

Saludos y en hora buena por tu solución.
no es insultar asumir que estoy borracho ????? Sabiondito jajaja
  #17 (permalink)  
Antiguo 15/04/2016, 11:20
 
Fecha de Ingreso: abril-2016
Mensajes: 9
Antigüedad: 8 años
Puntos: 0
Respuesta: Echo en un campo nvarchar(max)

CONVERT(VARbinary(max), aj.CONTENIDOJUSTICIA,0) AS contejus,

nueva solucion en el SQL

<td><?php echo utf8_encode ($rs_gogessform->fields["contejus"]);?></td>
el utf8_encode () decodifica el contejus y por ende el VARBINARY(MAX)

Etiquetas: campo, echo, fecha, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:51.