Bonjour, 

Je souhaiterais "poser" une requête SQL sur une feuille de calcul avec la 
possibilité d'actualiser les données. Pour réaliser cela j'aurais quelque 
questions. 

1) Est-on obligé d'enregistrer la "connexion" dans OpenOffice et de créer un 
fichier odb alors que je souhaite accéder à une Bdd SQLSever ? 

2) Lorsque je créer mon DatabaseImportDescriptor et que je l'initialise de 
cette façon tous fonctionne bien : 

Code:


com.sun.star.beans.PropertyValue[] aImportDesc = new 
com.sun.star.beans.PropertyValue[4]; 
aImportDesc[0] = new com.sun.star.beans.PropertyValue(); 
aImportDesc[0].Name  = "DatabaseName"; 
aImportDesc[0].Value = "mabase"; 
aImportDesc[1] = new com.sun.star.beans.PropertyValue(); 
aImportDesc[1].Name  = "SourceType"; 
aImportDesc[1].Value = DataImportMode.SQL; 
aImportDesc[2] = new com.sun.star.beans.PropertyValue(); 
aImportDesc[2].Name  = "SourceObject"; 
aImportDesc[2].Value = "SELECT * FROM mabase.dbo.matable"; 
aImportDesc[3] = new com.sun.star.beans.PropertyValue(); 
aImportDesc[3].Name  = "IsNative"; 
aImportDesc[3].Value = true; 


Par contre si j'utilise une requête avec une syntaxe "spécifique" SQLServer tel 
que "SELECT TOP 10 * FROM mabase.dbo.matable", ça ne fonctionne plus alors que 
j'ai bien initialisé la propriété IsNative à true. 
J'ai donc ensuite essayé d'initialiser la proprieté ConnectionResource à 
"sdbc:odbc:MON_DSN" mais cela ne change rien. 

D'autre par, si j'exécute cette même requête avec la même connexion sdbc en 
utilisant les services XConnection, XStatement et XResultSet (qui n'utilise pas 
le fichier odb) l'exécution fonctionne et je retrouve bien mon resultat. 

Ai-je fais une erreur sur l'initialisation de mon DatabaseImportDescriptor ou 
est-ce que c'est tous simplement pas possible ? 

Est-t-il possible de créer un DatabaseRange en utilisant un autre service que 
le DatabaseImportDescriptor ? 

Merci de votre aide

 

Répondre à