Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
J'ai une application PB11.5, window server 2003, Sql server 2005
Connexion OBDC : la mise à jour des données est OK
Connexion SNC : erreur sur la mise à jour des dates --> message : database error code 242 erreur "SQLSTATE 22007 microsoft sql native client la connexion d'un type de donnée CHAR en type DATETIME a donné une valeu hors limite de date et d'heure
résultat de la connexion ODBC :
sqlca.dbparm = "OJSyntax='PB',ConnectString='DSN=CBASE6',ConnectOption='SQL_DRIVER_CONNECT, SQL_DRIVER_NOPROMPT;SQL_INTEGRATED_SECURITY,SQL_IS_ON;SQL_OPT_TRACE,SQL_OPT_TRACE_OFF;SQL_PRESERVE_CURSORS,SQL_PC_OFF;SQL_USE_PROCEDURE_FOR_PREPARE,SQL_UP_ON';;StripParmNames='Yes' and CallEscape='No'"
résultat de la connexion SNC :
sqlca.dbparm = "OJSyntax='PB',Database='CBASE6',TrustedConnection=1;;StripParmNames='Yes' and CallEscape='No'"
Quelqu'un a une idée ?
Dernière modification par devsud (21-02-2011 15:00:42)
Hors ligne
Bonjour,
Tu as dû te tromper dans la liste des colonnes à mettre à jour (il doit y en avoir une en plus ou en moins) ce qui
conduit à ce qu'il se plaigne du type de données qui ne correspondant pas entre l'insertion et la définition de ta table.
Doctor Z.
Hors ligne
Salut,
Pour ma part, je pense plutôt que dans une de tes requêtes, un CHAR est casté correctement en DATETIME par ODBC, vraisemblablement avec un format implicite. Quand tu utilises la connexion SNC, l'implicite est différent et ça plante.
Comme on dit en Python : Explicit is better than implicit.
Hors ligne
Bonjour,
Pour info j'ai résolu en partie le problème , il fallait utiliser un User SQL en Anglais
Le fait de passer d'une connexion ODBC à SNC a eu des effets de bors sur l'appel des procédures stockées avec OUTPUT qui ne fonctionnent plus
Pour l'instant nous sommes restés en ODBC
Dernière modification par devsud (21-02-2011 15:00:57)
Hors ligne
Bon, j'ai eu le même problème dernièrement avec SQLServer 2008.
Il faut juste préciser les formats date, datetime et time à utiliser lors de la configuration de la connexion:
sqlca.dbparm = "Provider='SQLNCLI10',Database='madatabaseSqlServer',TrustedConnection=1,DateFormat='yyyy-mm-dd',DateTimeFormat='yyyy-mm-dd hh:mm:ss.fff',TimeFormat='hh:mm:ss'"
Hors ligne