Je stocke une valeur de temps (par exemple 18:30 - format Espagne) dans une base de données sql-server
2014 à partir d'un Le champ (dtHoraInicio) est défini comme (temps (0), NULL) Les insertions fonctionnent et les données sont bien stockéesASP classique: tentative d'affichage d'une heure stockée dans un champ de serveur SQL (time (0), NULL)
Dans ma page Web j'essaie juste de montrer la valeur:
response.write oRSC("dtHoraInicio") 'where oRSC is the recordset
et je reçois cette erreur:
Microsoft Cursor Engine error '80020009'
Multiple-step operation generated errors. Check each status value
J'ai changé la façon d'accéder aux données renvoyées à ceci:
Conexion = "Driver={SQL Server};Server=xxxxxxxxxxx;Initial Catalog=yyyyyyyy;User Id=zzzzzzzz;Password=aaaaaaaaaaa"
Set objConexion = Server.CreateObject("ADODB.Connection")
objConexion.CommandTimeout=120
objConexion.ConnectionTimeOut = 120
objConexion.Open Conexion
Set oRSC=CreateObject("ADODB.Recordset")
oRSC.ActiveConnection = objConexion
oRSC.CursorType = 0 ' 1 adOpenKeyset
oRSC.CursorLocation = 3 'adUseClient
oRSC.LockType = 3 'adLockOptimistic
oRSC.Source = FiltrarCadena(ssqlC)
oRSC.Open
'------------------------
response.write oRSC("dtHoraInicio")
'------------------------
J'ai eu cette nouvelle erreur:
ADODB.Recordset error '800a0bb9'
Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
Si je tente de l'exécuter dans un environnement local/test, il fonctionne parfaitement , se connectant également de la base de données de production locale est très bien, mais dans le moment, je télécharge le fichier en production, le code échoue. Donc je ne sais pas si c'est un problème du code ou si cela vient de la configuration de la base de données.
Si j'exécute la requête dans sql-server
Management Studio il fonctionne parfaitement et montre toutes les données sans problèmes.
Une idée?
Merci beaucoup à l'avance
Désolé, la connexion utilisée en production est: "Driver = {SQL Server}; fournisseur = SQLNCLI11.1; xxxxxxxxxxx; database = xxxxxxxx; uid = xxxxxxxx; pwd = xxxxxxxx" et de local I ' m se connecter sans fournisseur et ça marche, mais l'équipe informatique me dit qu'ils ne peuvent pas changer le mode de connexion, alors ma question est pourquoi le Tim Le type déposé n'est pas reconnu avec OLEDB? merci – euno
Nous l'avons eu, enfin nous avons converti le champ de temps à varchar dans la requête avant de le montrer sur la page. Vous pouvez supprimer cette question si vous voulez (je n'ai pas trouvé le chemin) ou le laisser, peut-être que c'est utile pour quelqu'un. Cordialement. – euno
Ceci est une question et une réponse valides, s'il vous plaît poster la solution comme réponse automatique. :) –