2011-03-31 15 views
10

He realizado muchas búsquedas, pero no puedo encontrar nada sobre mi problema. Estoy usando PDO con el controlador PDO_DBLIB para acceder a una base de datos MS SQL. Yo generalmente uso declaraciones preparadas, pero si falla cualquier consulta no obtener ninguna información adicional sobre el error a excepción de lo siguiente:PHP/PDO/MSSQL ¿cómo obtener información de error?

General SQL Server error: Check messages from the SQL Server [241] (severity 16) [(null)]

¿Alguien tiene una sugerencia en cuanto a cómo puedo recuperar más información acerca de la error (error de sintaxis en ...)?

mejores deseos

Michael

Respuesta

13

Para encontrar el mensaje de error:

-- SQL 2005+ 
select * from sys.messages where message_id = 241 
-- SQL 2000 
select * from sysmessages where error = 241 

Parece que DOP está quitando el texto real mensaje de error, por alguna razón, pero dado que el documentation dice que PDO_DBLIB es experimental, esto puede ser simplemente un error.

También debe tener en cuenta que DBLIB ha sido deprecated por Microsoft desde SQL 2005, por lo que casi seguramente debería utilizar una biblioteca diferente para conectarse a MSSQL.

+0

yo sepa, conductor de la EM es para Windows. –

+0

@sims Sí, todos los controladores de Microsoft SQL Server son solo de Windows (excepto el controlador JDBC), aunque desde que OP no mencionó su versión de SO o incluso SQL Server, es difícil saber cuál es la mejor respuesta para su escenario. – Pondlife

+0

Sí, pensé en dejarlo en claro para los demás que encuentran esta página. –

1

SQL Server Error Messages

de error 241: error de sintaxis al convertir fecha y hora de la cadena de caracteres

Este formato funciona para mí: date("Ymd H:i:s");

Cuestiones relacionadas