Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

SP4 + probleme d'update memo Access vers text SQL

4 réponses
Avatar
Joelle
Jusqu'à l'installation de SP4, cette stored procedure fonctionnait
impeccablement. Mais maintenant je reçois un message d'erreur : Server
Internal Error.

J'ai testé pour voir ce qui n'allait pas et c'est l'update d'u champ ntext
de SQL par un champ Memo de Access qui foire. Or tout fonctionnait
correctement auparavant.

Voici la Stored Procedure :
===========================================
UPDATE b
SET

b.Doc_Name = c.DocName,
b.Hypere = c.Hyper,
b.Type_Doc = c.Type,
b.Point_Action = c.PointAction,
b.Orig = c.[Or]


FROM dbo.HyperDoc as b, OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'\\Coil_2k_5\CoilInteg\TempOr\Tempor.mdb';'admin';, HyperDoc)
AS c
WHERE b.OldActionNum = c.idActionO AND b.Orig = c.[Or]
===============================================


Quelqu'un a une idée ???

Merci d'avance,

Joëlle

4 réponses

Avatar
Joelle
Précision :
b.hypere est un champ ntext (SQL) tandis que c.Hyper est un champ Memo dans
Access. C'est ce champ qui foire.
SQL ets un Server 2000 avec SP4 et Access est 2003

"Joelle" a écrit :

Jusqu'à l'installation de SP4, cette stored procedure fonctionnait
impeccablement. Mais maintenant je reçois un message d'erreur : Server
Internal Error.

J'ai testé pour voir ce qui n'allait pas et c'est l'update d'u champ ntext
de SQL par un champ Memo de Access qui foire. Or tout fonctionnait
correctement auparavant.

Voici la Stored Procedure :
========================================== > UPDATE b
SET

b.Doc_Name = c.DocName,
b.Hypere = c.Hyper,
b.Type_Doc = c.Type,
b.Point_Action = c.PointAction,
b.Orig = c.[Or]


FROM dbo.HyperDoc as b, OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Coil_2k_5CoilIntegTempOrTempor.mdb';'admin';, HyperDoc)
AS c
WHERE b.OldActionNum = c.idActionO AND b.Orig = c.[Or]
============================================== >

Quelqu'un a une idée ???

Merci d'avance,

Joëlle



Avatar
lionelp
Bonjour,

Le même test avec un champ SQL type text et non ntext change-t-il le
comportement ?
Tronquer le memo à une valeur inférieure à @@textsize change-t-il le
comportement ?
Est-ce que la requête réécrite avec la syntaxe ANSI dans la jointure change
le comportement ?

UPDATE b
SET
b.Doc_Name = c.DocName,
b.Hypere = c.Hyper,
b.Type_Doc = c.Type,
b.Point_Action = c.PointAction,
b.Orig = c.[Or]

FROM dbo.HyperDoc b inner join OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Coil_2k_5CoilIntegTempOrTempor.mdb';'admin';, HyperDoc) c
on b.OldActionNum = c.idActionO AND b.Orig = c.[Or]


Cordialement,
LionelP


"Joelle" wrote in message
news:
Précision :
b.hypere est un champ ntext (SQL) tandis que c.Hyper est un champ Memo


dans
Access. C'est ce champ qui foire.
SQL ets un Server 2000 avec SP4 et Access est 2003

"Joelle" a écrit :

> Jusqu'à l'installation de SP4, cette stored procedure fonctionnait
> impeccablement. Mais maintenant je reçois un message d'erreur : Server
> Internal Error.
>
> J'ai testé pour voir ce qui n'allait pas et c'est l'update d'u champ


ntext
> de SQL par un champ Memo de Access qui foire. Or tout fonctionnait
> correctement auparavant.
>
> Voici la Stored Procedure :
> ========================================== > > UPDATE b
> SET
>
> b.Doc_Name = c.DocName,
> b.Hypere = c.Hyper,
> b.Type_Doc = c.Type,
> b.Point_Action = c.PointAction,
> b.Orig = c.[Or]
>
>
> FROM dbo.HyperDoc as b, OPENROWSET('Microsoft.Jet.OLEDB.4.0',
> 'Coil_2k_5CoilIntegTempOrTempor.mdb';'admin';, HyperDoc)
> AS c
> WHERE b.OldActionNum = c.idActionO AND b.Orig = c.[Or]
> ============================================== > >
>
> Quelqu'un a une idée ???
>
> Merci d'avance,
>
> Joëlle
>


Avatar
Joelle
J'ai essayé les différentes suggestions mais rien ne change. Par contre j'ai
essayé un INSERT et là cela marche.. J'ai aussi essayer une importation par
DTS pour voir ce qu'il créait comme champs dans une nouvelle table : il crée
nText et cela fonctionne. Si après je fais un update sans le champ ntext il
fonctionne correctement. Si je fais l'update avec le champ ntext ou text je
reçois le message d'erreur :
Server: Msg 8624, Level 16, State 123, Line 4
Internal SQL Server error.

J'ai aussi testé d'autres tables et les mêmes problèmes se produisent :
Insertion OK et Update plante avec champs ntext ou text et fonctionne sans.

Je n'y comprend rien. Un problème lors du passage à SP4 ?? Je vais essayer
de tester sur une autre instance de SQL qui n'est pas passé à SP4. Cela
devrait en fait fonctionner correctement puisque tel était le cas avant le
passage à SP4.

Peut-on desinstaller un SP sans problème... ?

Merci,

Joëlle
Avatar
Joelle
J'ai testé sur une version SQL 2000 avec le SP3 et comme je le disais : no
problem ==> tout fonctionne bien. Donc le problème vient de SP4. Est-ce
possible de désinstaller SP4 ?

Merci

Joëlle

"Joelle" a écrit :

J'ai essayé les différentes suggestions mais rien ne change. Par contre j'ai
essayé un INSERT et là cela marche.. J'ai aussi essayer une importation par
DTS pour voir ce qu'il créait comme champs dans une nouvelle table : il crée
nText et cela fonctionne. Si après je fais un update sans le champ ntext il
fonctionne correctement. Si je fais l'update avec le champ ntext ou text je
reçois le message d'erreur :
Server: Msg 8624, Level 16, State 123, Line 4
Internal SQL Server error.

J'ai aussi testé d'autres tables et les mêmes problèmes se produisent :
Insertion OK et Update plante avec champs ntext ou text et fonctionne sans.

Je n'y comprend rien. Un problème lors du passage à SP4 ?? Je vais essayer
de tester sur une autre instance de SQL qui n'est pas passé à SP4. Cela
devrait en fait fonctionner correctement puisque tel était le cas avant le
passage à SP4.

Peut-on desinstaller un SP sans problème... ?

Merci,

Joëlle