Bonjour à tous,
Je travail actuellement sur une base SQL serveur 2005. J'ai des erreurs d'identifiants que je dois cleaner. Pour un soucis de traçabilité, on a décider de faire ces modifications via SAS (en liaison ODBC avec la table du serveur).
Une fois la liaison faite, je lance ma proc sql dans sas :
Mais SAS me met :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 proc sql; UPDATE TOTO.titi SET centre = 2 WHERE ((centre=1) AND (numero=1)); quit;
J'ai regarder sur internet et j'ai vu que c'était du à un problème avec SQL serveur via ODBC qui ne peut lançer qu'une requête à la fois (enfin c'est ce que j'ai compris).ERROR: CLI cursor fetch error: [DataDirect][ODBC SQL Server
Driver]Connection is busy with results for another hstmt
sur le support SAS http://support.sas.com/kb/33/797.html, ils disent :
J'ai essayer de de placer ce "set nocount on" un peu partout dans ma proc SQL mais j'ai pas réussi à trouver comment le mettre, SAS me met :This error occurs because an update trigger that is defined in the SQL Server table generates multiple results during the update process.
The SQL Server database only permits one active statement per connection, and an active result (most like a row count) might already exist. As a result, the next fetch to process the next update returns the error message.
As a workaround, you can use the following SQL Server option at the top of the trigger code:
set nocount on
Est-ce que quelqu'un aurait une idée sur l'emplacement où le mettre ou tout simplement la résolution de ce problème?ERROR 73-322: Expecting an =.
ERROR 76-322: Syntax error, statement will be ignored.
Merci d'avance
Partager