:(((( requete qui merde sur certaine tables !!

exyacc Messages postés 163 Date d'inscription dimanche 20 octobre 2002 Statut Membre Dernière intervention 31 juillet 2008 - 5 avril 2006 à 15:50
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 - 13 avril 2006 à 18:07
je comprends plus rien, en fait je copies pls table d'une base A vers une base B (que je crée sans contrainte, sans rien de rien ;o)),
je dev avec delphi avec sqlserver2000

la, en exemple c'est une procedure stockee j'ai le meme pb en utilisant requete directement sous delphi

CREATE PROCEDURE SP_ppf_add @nom_base_origine Varchar(128), @nom_base_desti Varchar(128) , @nom_table Varchar(128) AS
declare @requete varchar(255)

SET @Requete ='select * into '+@nom_base_desti+'..'+ @nom_table+' from '+@nom_base_origine+'..['+ @nom_table+']'
EXECUTE (@Requete)
GO

ds mon prog je boucle sur une liste de table, et par exemple il me bloque sur une table nommée "servicecapability" ....
"Erreur interne du processeur de requêtes : Le processeur de requêtes a rencontré une erreur inattendue pendant l'exécution."

, si je rajoute des [ ] autour du nom de la table ds la requete ca passe....mais du coup d'autres passent plus !!!

SET @Requete ='select * into '+@nom_base_desti+'..['+ @nom_table+'] from '+@nom_base_origine+'..['+ @nom_table+']'

une idee ?, :(((((


exyacc

18 réponses

exyacc Messages postés 163 Date d'inscription dimanche 20 octobre 2002 Statut Membre Dernière intervention 31 juillet 2008
5 avril 2006 à 16:14
suite,

je renomme la table servicecapability en servicecapability2 et sur cette table ca marche, je renomme servicecapability2 en servicecapability et la, ca marche tjs !!!! grrrr, j'vais aller élever des chevres moi

une idee ? un miracle ?

exyacc
0
Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
6 avril 2006 à 00:55
Tu es sur que le nom de la table ne contient pas d'espace ?
Car les [ ] servent à ca normalement...
0
exyacc Messages postés 163 Date d'inscription dimanche 20 octobre 2002 Statut Membre Dernière intervention 31 juillet 2008
6 avril 2006 à 00:59
non pas d'espace....
le pire defois, tout passe bien, je quitte, j'execute a nouveau et paf ca marche plus sur certaines tables.....me disant que ca pouvait etre une connexion mal faite ds mon prog delphi, j'ai tapé ca dans un freeware msde-manager, et la pareil, ca merdouille. je retente demain mais je crois que si par contre je tape ca dans l'analyseur de requete de ms-sql-server, ca marche...

exyacc
0
Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
6 avril 2006 à 07:47
essaye de faire une connexion indépendante de ton parcours de table, et de connecter, puis deconnecter cette connexion pour chaque copie de table...
L'un dans l'autre il a p'tet du mal a rafraichir certains trucs.

Ca plante toujours sur la(es) meme(s) table(s) ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
exyacc Messages postés 163 Date d'inscription dimanche 20 octobre 2002 Statut Membre Dernière intervention 31 juillet 2008
6 avril 2006 à 09:14
ca le fait generalement sur les memes tables...7 sur 100, je dis generalement car ca a deja entierement marché, parfois meme, une des 7 passe, et remerde apres....
que ce soit ds mon prog delphi ou dans MSDE-manager ca marche pas non plus.....
par contre dans l'analyseur de requete de sql server enterprise, ca marche..... :(
si je crée la base ds "sql server enterprise", et que du coup y'a juste des requetes "insert into", ca marche pas non plus....
j'ai essayé d'inclure un COLLATE ds la requete au cas ou y'aurait un pb de langage, mais ca change rien...
ils sont ds les pages jaunes les marabouts ?

exyacc
0
exyacc Messages postés 163 Date d'inscription dimanche 20 octobre 2002 Statut Membre Dernière intervention 31 juillet 2008
6 avril 2006 à 11:27
(suite)
qd la requete ajout plante sur par exemple la table transacs, je vais dans entreprise-manager, je renomme transacs en transac2 et je la renomme de suite en transacs, et la elle passe......!!!! ??? mais d'autre passe pas...

exyacc
0
Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
6 avril 2006 à 11:59
ouaip, t'as donc du mal a acceder a tes bases apparemment...
Ca dure combien de temps ton machin ?
0
exyacc Messages postés 163 Date d'inscription dimanche 20 octobre 2002 Statut Membre Dernière intervention 31 juillet 2008
6 avril 2006 à 12:04
en fait la base de depart (base A) que je dois copier ne m'appartient pas, pas moi qui l'ai crée....
qd je crée une base TEST ou j'importe la base A avec entreprise-manager avec propriété etendu pour garder les dependances, etc... et que je fais mes requetes sur TEST au lieu de BASE A , ca a l'air de bien marcher..... quelle difference il peut y avoir entre ces 2 tables ? le langage ? j'ai regardé, apparemment tts les 2 en French...

exyacc
0
Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
6 avril 2006 à 12:08
"pour garder les dependances"
ah !
Tu les crées dans le bon ordre ?
Le sgbd a-t-il le temps de recréer les dépendances ?
0
exyacc Messages postés 163 Date d'inscription dimanche 20 octobre 2002 Statut Membre Dernière intervention 31 juillet 2008
6 avril 2006 à 12:13
oui je mis correctement l'ordre (j'en ai chié d'ailleurs sur 120 tables !! lol )
d'ailleurs ca marche ds l'analyseur de requete de entreprise-manager mais pas ailleurs.
je pense pas que ce soit le tps car qd je refais le requete ou il coince toute seule, c'est pareil.

exyacc
0
exyacc Messages postés 163 Date d'inscription dimanche 20 octobre 2002 Statut Membre Dernière intervention 31 juillet 2008
6 avril 2006 à 12:22
corection , ca merde aussi sur la base TEST meme si j'enleve toutes les dependances.... :(

exyacc
0
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
11 avril 2006 à 17:10
salut

essaie d'executer l'instruction
SET QUOTED_IDENTIFIER = TRUE

avant d'utiliser les []

ca indique explicitement a SQL serveur que tu utilise les [] pour définir les nom des objets (nom de table, de champs...)

sinon essaie de faire une base de données qui ne reprenne pas dans les noms de champs ou de table des mots clef (utilise des mots francais comme ca ca reduit pas mal le risque !)

PS : si ca marche parfois et parfois plus, c'est peut etre du au fait que le fameux QUOTED_IDENTIFIER n'a pas toujours la meme valeur
0
exyacc Messages postés 163 Date d'inscription dimanche 20 octobre 2002 Statut Membre Dernière intervention 31 juillet 2008
11 avril 2006 à 18:28
je peux pas modifier la base de données car elle fait partie d'un prog de gestion qui est pas a moi....

pour l'instant j'ai resolu le probleme en le contournant mais bof....
en fait, je copiais tts les tables d'une base A dans une base B en faisant des requetes creation de table (select into) mais ca marchait pas sur certaines tables, puis d'autre a l'execution d'apres, puis tt nickel, puis remerde...., donc du coup j'execute des requetes pour creer mes tables de la base B et je fait des requetes d'ajout..... mais je vois pas pourquoi mes requete creation de table merdait.....

exyacc
0
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
12 avril 2006 à 09:52
l'instruction "SET QUOTED_IDENTIFIER = true" peut etre lancée comme une requete, dans un script...
tu peux toujours la tenter voir ce que ca donne.
0
exyacc Messages postés 163 Date d'inscription dimanche 20 octobre 2002 Statut Membre Dernière intervention 31 juillet 2008
12 avril 2006 à 11:01
nan ca change rien, c'est bizarre qd meme j'execute:

select * into pour_sauvegarde..[VisitGroupHistory] from enzodb..[VisitGroupHistory]
go
select * into pour_sauvegarde..[VisitGroup] from enzodb..[VisitGroup]
go
select * into pour_sauvegarde..[unitofmeasure] from enzodb..[unitofmeasure]
go
select * into pour_sauvegarde..[theme] from enzodb..[theme]
go

ca passe, j'execute 2...3 fois d'affiller et la je commence a avoir des "Erreur interne du processeur de requêtes : Le processeur de requêtes a rencontré une erreur inattendue pendant l'exécution."

exyacc
0
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
12 avril 2006 à 17:59
vu ton probleme, je pense que tu ne cherche pas du bon coté.

il doit y avoir une coquille ailleur dans ton programme
le message d'erreur n'est pas explicite du tout (et c'est le moins qu'on puisse dire)
mais je te conseille de faire du pas à pas.


je suis pret a parier que c'est un faute toute bete (genre tu ne reinitialise pas ta variable qui contient ta requete et tu rajoute a chaque fois des choses dedans, )


un truc du genre





car je ne vois pas pourquoi ca marcherait parfois et parfsois pas !
0
exyacc Messages postés 163 Date d'inscription dimanche 20 octobre 2002 Statut Membre Dernière intervention 31 juillet 2008
12 avril 2006 à 18:03
ben je pensais ca au debut, mais en collant les requetes ci dessus directement dans l'analyseur de requete de "sql server entreprise manager" j'ai la meme erreur....

exyacc
0
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
13 avril 2006 à 18:07
et tu as fait tu pas a pas pour etre sur que la variable qui contient ta requete contient bien ce que tu pense ?
un simpleMaRequete "..." au lieu de MaRequete MaRequete + "..." et tout fout le camp ! :)

sinon est ce que tu lance tout d'un bloc, ou tu lance une requete par table ?

si c'est le cas, est ce que tu lance de facon synchrone ou asynchrone.
0
Rejoignez-nous