Bonjour

J'utilise une procédure stockée qui génère dans un fichier excel les lignes correspondant à une requête. Je m'appuie sur une vue pour lier deux tables et qui sert dans la requête.

J'ai un problème de classement lors de l'appel à ODBC:
[Microsoft][ODBC SQL Server Driver][SQL Server]Impossible de résoudre le classement en conflit de l'opération replace.

L'appel à la procédure se fait par l'instruction suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
DECLARE @four varchar(6) 
DECLARE @file varchar(100) 
DECLARE @query varchar(8000) 
DECLARE @collist varchar(500) 
DECLARE @quote varchar(1)
 
set @quote=''''
 
set @query = 'select PAVNDR, VNAME, PABUYN, 
PABYPH, PANOM, PATEL, PAFAX, PAPRDL, 
PAITNO, PAITLB, PACURL, PACURI, PAENGN, 
Indice, PATYP, PAORDN, PAQTY, PADKDT, PAMTR
from Datawarehouse.dbo.v_ab610
where pavndr=' + @quote + '351100' + @quote
SET @file = '\\ampro-data01\diff_ge$\Product Unit\Informatique\PDAxls\' +@four + '.xls'
EXEC sp_ExportToExcel @SourceServer=NULL,
@SourceUID= 'ADMIN',
@SourcePWD = NULL,
@QueryText = @query,
@TemplateFile = 'C:\temp\pdaxls\pdatmp.xlt',
@filename = @file,
@WorksheetName='PDA',
@RangeName =NULL,
@Macro=NULL
La même requête passée en SQL fonctionne normalement et me donne les lignes correspondant.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
select PAVNDR, VNAME, PABUYN, 
PABYPH, PANOM, PATEL, PAFAX, 
PAPRDL, PAITNO, PAITLB, PACURL, 
PACURI, PAENGN, Indice, PATYP, 
PAORDN, PAQTY, PADKDT, PAMTR
from Datawarehouse.dbo.v_ab610
where pavndr='351100'
C'est donc lors de l'appel à la procédure que le problème se pose. J'ai modifié la variable @query pour ajouter 'COLLATE FRENCH_CI_AI' mais toujours la même erreur.

La base de données est en FRENCH_CI_AI mais je l'ai migrée car elle avait été créée initialement en FRENCH_CI_AS. Depuis j'ai recréé la vue utilisée (v_ab610), la procédure sp_exporttoexcel, les tables composant la vue.

Qqun a-t-il une idée, car moi je sèche...