Avec DataSnap 2009, il semble possible d'utiliser une connexion de base de données distante dans le module de données client, en utilisant un TDSProviderConection et un TSQLConnection associé. Le côté client est facile à configurer, je dépose une TSQLConnection sur le formulaire et le relie au composant TDSProviderConnection. Mais quelles sont les étapes dans le datamodule distant côté serveur pour fournir la «vraie» SQLConnection au client? J'ai un module de serveur qui hérite de TDSServerModule, un TDSTCPServerTransport, un TDSServer et un composant TDSServerClass. Comment puis-je lier ces à un TSQLConnection côté serveur?Comment obtenir une SQLConnection distante pour TDSProviderConnection.SQLConnection?
Répondre
En fait, le moyen le plus simple d'accéder à la connexion de la base de données côté serveur à partir du client DataSnap 2009 est d'utiliser uniquement un composant TSQLConnection. Définissez sa propriété "Driver" sur "DataSnap" et dans la sous-propriété "ServerConnection" spécifiez une méthode de serveur qui renvoie une référence "TDBXConnection". Vous pouvez ajouter manuellement une telle méthode serveur à votre module de données distant. Il est plus facile d'utiliser une méthode de serveur "DSAdmin.GetConnection" intégrée et de simplement spécifier le nom de la connexion DBExpress telle qu'elle apparaît dans l'Explorateur de données sur le serveur ou dans le fichier DBXConnection.ini. Le gotcha est d'utiliser des guillemets doubles autour du nom de la connexion. Par exemple, si vous avez une connexion Interbase nommé « IBEMPLOYEE » dans l'explorateur de données, il suffit d'entrer dans « ServerConnection » la chaîne suivante:
DSAdmin.GetConnection (« IBEMPLOYEE »)
et définir la propriété « Connected » à "vrai".
Dans ce scénario, vous n'avez rien de spécial à faire sur le serveur DataSnap. En fait, vous n'avez même pas besoin d'un module serveur car vous en utilisez un intégré.
HIH
Pawel
- 1. Comment obtenir une adresse URI distante
- 2. comment fermer une SQLConnection en asp.net
- 3. C# static SQLConnection
- 4. Obtenir WebSocket pour fonctionner à partir d'une URL distante
- 5. Comment supprimer une branche distante dans Git?
- 6. Comment incorporer une image distante dans ImageMagick
- 7. comment appeler une page distante dans div?
- 8. comment afficher/modifier une branche distante git
- 9. Obtenir les dimensions de l'image distante
- 10. Comment faire pour accélérer le délai d'attente de SqlConnection
- 11. Quel modèle est meilleur pour l'objet SqlConnection?
- 12. Réouverture SqlConnection instance
- 13. Comment exécuter une commande dans une machine distante et obtenir la sortie en utilisant C# .net
- 14. Comment copier une image distante en python?
- 15. Comment forcer SQLconnection à libérer une base de données?
- 16. Comment maintenir un SqlConnection ouvert toujours
- 17. SqlCommand et SqlConnection
- 18. Python: Comment utiliser platform.win32_ver() sur une machine distante?
- 19. C# DbConnection castée SqlConnection
- 20. Méthode incluant SQLConnection - bonne approche?
- 21. Comment puis-je utiliser une SqlConnection (ADO.Net) pour se connecter à un jeu d'enregistrements ADO?
- 22. Comment utiliser ClearCanvas dans une base de données distante?
- 23. Comment utiliser JQuery pour obtenir XML à partir de l'API REST distante?
- 24. Django: Obtenir l'adresse IP distante à l'intérieur de settings.py
- 25. SPID d'un SqlConnection (SQL Server) dans ADO.NET
- 26. SQLCommand/SQLConnection vs OleDbCommand/OleDbConnection
- 27. Classes .Net pour contrôler les services sur une machine distante?
- 28. Appel de jquery pour une fonction php distante
- 29. FluorineFX C# échantillon pour appeler une fonction distante via RTMP
- 30. sqltransactions multiples dans single sqlconnection
Est-ce que les propriétés côté serveur TSQLConnection remplacent les paramètres du TSQLConnection côté client? Si oui, comment transmettrons-nous les paramètres au serveur pour configurer la connexion, par exemple si le client doit définir certaines choses spécifiques à la session (comme le nom d'utilisateur) dans la configuration de base de données avant l'ouverture du TSQLConnection côté serveur? – mjn
Je suppose que non. Le serveur ne remplacerait pas la connexion côté client. La solution serait de créer une méthode de serveur qui accepte tous les paramètres nécessaires pour la connexion côté serveur, comme passer le nom d'utilisateur/mot de passe. –