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

export data to a flat file

3 réponses
Avatar
Fred
Bonjour,
J'essaie d'exporter le résultat d'une requête vers un fichier plat longueur
fixe.
Quand j'exécute le query, ça fonctionne très bien mais pas lorsqu'il est
intégré ds l'outil d'export. Voici la requête en question ainsi que l'erreur
(le problème serait-il que j'utlise des tables temporaires ?):
Merci d'avance pour votre aide !!

create table #ITAWinprest (NumCli char(10), NumCol char(3), Jour
char(8), Travail char(8), Comment char(300), Niveau
numeric(2,0), HrDebut char(5),
Hrfin char(5), Duree char(5), PV numeric(9,0), Kms
numeric(5,0), Fac_dep char(1), Fact_pres char(1), NomCli
char(60), Periode char(8))
go
insert into #itawinprest
select -- service_req.id,
ITACompanyData.NumCli,
itanumcollab.Collab as 'NumCol',
convert(varchar(8), work_report.from_time, 1) as 'Jour',
ITACompanyData.Travail,
work_report.description as 'Comment',
ITACompanyData.Niveau,
convert(varchar(5), work_report.from_time, 8) as 'Hrdebut',
convert(varchar(5), work_report.to_time, 8) as 'Hrfin',
convert(varchar(5),work_report.to_time - work_report.from_time, 108) as
'Duree',
ITACompanyData.PV,
ITATravel.TravelStatusID as 'Kms',
case when ITATravel.TravelStatusID = 1 then 'O' else '' end as 'Fac_dep',
ITACompanyData.Fact_pres,
ITACompanyData.Nomcli,
convert(varchar(8), work_report.from_time, 3) as 'Periode'
from service_req
inner join itanumcollab
on service_req.responsibility = itanumcollab.responsibility
inner join work_report
on service_req.id = work_report.service_req_id
inner join sysaid_user
on service_req.request_user = sysaid_user.user_name
inner join ITACompanyData
on ITACompanyData.companyid = sysaid_user.company
inner join ITATravel
on ITATravel.travelStatus = work_report.cust_text1
where work_report.from_time > '2008-07-31 23:59:59.999'
go
select * from #itawinprest
go
drop table #itawinprest


LE MESSAGE D'ERREUR EST LE SUIVANT :

the statement could not be parsed

deferred prepare could not be completed
statement(s) could not be prepared
incorrect syntax near 'go'
incorrect syntax near the keyword 'insert'

3 réponses

Avatar
jchtible
Bonjour,

Essaie de rajouter le symbole ";" avant chaque GO afin de signaler la fin de
l'instruction SQL.

"Fred" a écrit :

Bonjour,
J'essaie d'exporter le résultat d'une requête vers un fichier plat longueur
fixe.
Quand j'exécute le query, ça fonctionne très bien mais pas lorsqu'il est
intégré ds l'outil d'export. Voici la requête en question ainsi que l'erreur
(le problème serait-il que j'utlise des tables temporaires ?):
Merci d'avance pour votre aide !!

create table #ITAWinprest (NumCli char(10), NumCol char(3), Jour
char(8), Travail char(8), Comment char(300), Niveau
numeric(2,0), HrDebut char(5),
Hrfin char(5), Duree char(5), PV numeric(9,0), Kms
numeric(5,0), Fac_dep char(1), Fact_pres char(1), NomCli
char(60), Periode char(8))
go
insert into #itawinprest
select -- service_req.id,
ITACompanyData.NumCli,
itanumcollab.Collab as 'NumCol',
convert(varchar(8), work_report.from_time, 1) as 'Jour',
ITACompanyData.Travail,
work_report.description as 'Comment',
ITACompanyData.Niveau,
convert(varchar(5), work_report.from_time, 8) as 'Hrdebut',
convert(varchar(5), work_report.to_time, 8) as 'Hrfin',
convert(varchar(5),work_report.to_time - work_report.from_time, 108) as
'Duree',
ITACompanyData.PV,
ITATravel.TravelStatusID as 'Kms',
case when ITATravel.TravelStatusID = 1 then 'O' else '' end as 'Fac_dep',
ITACompanyData.Fact_pres,
ITACompanyData.Nomcli,
convert(varchar(8), work_report.from_time, 3) as 'Periode'
from service_req
inner join itanumcollab
on service_req.responsibility = itanumcollab.responsibility
inner join work_report
on service_req.id = work_report.service_req_id
inner join sysaid_user
on service_req.request_user = sysaid_user.user_name
inner join ITACompanyData
on ITACompanyData.companyid = sysaid_user.company
inner join ITATravel
on ITATravel.travelStatus = work_report.cust_text1
where work_report.from_time > '2008-07-31 23:59:59.999'
go
select * from #itawinprest
go
drop table #itawinprest


LE MESSAGE D'ERREUR EST LE SUIVANT :

the statement could not be parsed

deferred prepare could not be completed
statement(s) could not be prepared
incorrect syntax near 'go'
incorrect syntax near the keyword 'insert'




Avatar
Fred
Ca marche pas malheureusement.

"jchtible" a écrit :

Bonjour,

Essaie de rajouter le symbole ";" avant chaque GO afin de signaler la fin de
l'instruction SQL.

"Fred" a écrit :

> Bonjour,
> J'essaie d'exporter le résultat d'une requête vers un fichier plat longueur
> fixe.
> Quand j'exécute le query, ça fonctionne très bien mais pas lorsqu'il est
> intégré ds l'outil d'export. Voici la requête en question ainsi que l'erreur
> (le problème serait-il que j'utlise des tables temporaires ?):
> Merci d'avance pour votre aide !!
>
> create table #ITAWinprest (NumCli char(10), NumCol char(3), Jour
> char(8), Travail char(8), Comment char(300), Niveau
> numeric(2,0), HrDebut char(5),
> Hrfin char(5), Duree char(5), PV numeric(9,0), Kms
> numeric(5,0), Fac_dep char(1), Fact_pres char(1), NomCli
> char(60), Periode char(8))
> go
> insert into #itawinprest
> select -- service_req.id,
> ITACompanyData.NumCli,
> itanumcollab.Collab as 'NumCol',
> convert(varchar(8), work_report.from_time, 1) as 'Jour',
> ITACompanyData.Travail,
> work_report.description as 'Comment',
> ITACompanyData.Niveau,
> convert(varchar(5), work_report.from_time, 8) as 'Hrdebut',
> convert(varchar(5), work_report.to_time, 8) as 'Hrfin',
> convert(varchar(5),work_report.to_time - work_report.from_time, 108) as
> 'Duree',
> ITACompanyData.PV,
> ITATravel.TravelStatusID as 'Kms',
> case when ITATravel.TravelStatusID = 1 then 'O' else '' end as 'Fac_dep',
> ITACompanyData.Fact_pres,
> ITACompanyData.Nomcli,
> convert(varchar(8), work_report.from_time, 3) as 'Periode'
> from service_req
> inner join itanumcollab
> on service_req.responsibility = itanumcollab.responsibility
> inner join work_report
> on service_req.id = work_report.service_req_id
> inner join sysaid_user
> on service_req.request_user = sysaid_user.user_name
> inner join ITACompanyData
> on ITACompanyData.companyid = sysaid_user.company
> inner join ITATravel
> on ITATravel.travelStatus = work_report.cust_text1
> where work_report.from_time > '2008-07-31 23:59:59.999'
> go
> select * from #itawinprest
> go
> drop table #itawinprest
>
>
> LE MESSAGE D'ERREUR EST LE SUIVANT :
>
> the statement could not be parsed
>
> deferred prepare could not be completed
> statement(s) could not be prepared
> incorrect syntax near 'go'
> incorrect syntax near the keyword 'insert'
>
>


Avatar
Fred BROUARD
Même erreur que précédemment : le go considère une séparation physique
de l'exécution.

Enlevez les GO...

A +

Fred a écrit :
Bonjour,
J'essaie d'exporter le résultat d'une requête vers un fichier plat longueur
fixe.
Quand j'exécute le query, ça fonctionne très bien mais pas lorsqu'il est
intégré ds l'outil d'export. Voici la requête en question ainsi que l'erreur
(le problème serait-il que j'utlise des tables temporaires ?):
Merci d'avance pour votre aide !!

create table #ITAWinprest (NumCli char(10), NumCol char(3), Jour
char(8), Travail char(8), Comment char(300), Niveau
numeric(2,0), HrDebut char(5),
Hrfin char(5), Duree char(5), PV numeric(9,0), Kms
numeric(5,0), Fac_dep char(1), Fact_pres char(1), NomCli
char(60), Periode char(8))
go
insert into #itawinprest
select -- service_req.id,
ITACompanyData.NumCli,
itanumcollab.Collab as 'NumCol',
convert(varchar(8), work_report.from_time, 1) as 'Jour',
ITACompanyData.Travail,
work_report.description as 'Comment',
ITACompanyData.Niveau,
convert(varchar(5), work_report.from_time, 8) as 'Hrdebut',
convert(varchar(5), work_report.to_time, 8) as 'Hrfin',
convert(varchar(5),work_report.to_time - work_report.from_time, 108) as
'Duree',
ITACompanyData.PV,
ITATravel.TravelStatusID as 'Kms',
case when ITATravel.TravelStatusID = 1 then 'O' else '' end as 'Fac_dep',
ITACompanyData.Fact_pres,
ITACompanyData.Nomcli,
convert(varchar(8), work_report.from_time, 3) as 'Periode'
from service_req
inner join itanumcollab
on service_req.responsibility = itanumcollab.responsibility
inner join work_report
on service_req.id = work_report.service_req_id
inner join sysaid_user
on service_req.request_user = sysaid_user.user_name
inner join ITACompanyData
on ITACompanyData.companyid = sysaid_user.company
inner join ITATravel
on ITATravel.travelStatus = work_report.cust_text1
where work_report.from_time > '2008-07-31 23:59:59.999'
go
select * from #itawinprest
go
drop table #itawinprest


LE MESSAGE D'ERREUR EST LE SUIVANT :

the statement could not be parsed

deferred prepare could not be completed
statement(s) could not be prepared
incorrect syntax near 'go'
incorrect syntax near the keyword 'insert'






--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************