j'avais cru lire ca il y a quelques années sur un document, mais après quelques recherches ca ne semble pas être le cas ...
Le couple WPF & sql server express serai plus judicieux que Winform & MySQL.
Bonjour Messieurs,
Vos commentaires sont les bienvenus ... mais je pense que nous avons débordé ...
Avez-vous une idée sur la cause du problème :
Merci d'avanceJ'ai installé l'appli sur le serveur ainsi que la base de données. Quand je lance l'application sur le serveur, ça marche bien et j'ai accès à ma base de données et tout.
Après, j'ai créé des raccourcis sur les postes utilisateurs qui pointe sur mon MONAPPLI.exe (l'application est installé sur un dossier de partage). Je lance l'application, cette dernière est lancé, mais quand je tente de me connecter à la base de données, l'application ne reconnait pas le serveur de base de données installé sur le poste serveur. J'ai vérifié bien que le serveur de base de données est démarré !
SQLException = -1
You do not fail until you quit
Peux-tu montrer la connection string ?
" Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson
Est-ce que les remote connections sont autorisées sur le serveur ?
Kropernic
Bonjour à tous,
D'abord merci vos réponses.
@Graffito:
Voici la chaine de connexion utilisée,
@griftou:Data Source=NOM_POSTE_SERVEUR\NOM_INSTANCE;Initial Catalog=NOM_BASE;Integrated Security=TRUE;
A quel niveau faut-il autoriser les remote connections, SQL Server ou système d'exploitation et comment faire ?Est-ce que les remote connections sont autorisées sur le serveur ?
Merci encore une fois pour votre aide.
You do not fail until you quit
sql server configuration de la surface d'exposition (ca se trouve dans le menu démarrer)
il faut autoriser les connexions distantes
de plus l'integrated security c'est pas forcément pratique, ca veut dire que le user windows est utilisé pour se logger à sql server, il faut donc que le user de l'autre pc existe dans sql server
Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...
Une réponse vous a aidé ? utiliser le bouton
"L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel
Si j'ai bien compris, je dois d'abord autoriser les connexions distantes et ensuite proscrire le paramètre integrated security de la chaine de connexion car effectivement il ne s'agit pas d'une configuration "domaine".
Je vais essayer cette solution et je reviens vers vous.
Merci beaucoup
You do not fail until you quit
Euh ... ce n'est pas suffisant ...
Tu dois :
- Mettre en service l'authentification combinée (Intégré + SQL SERVER) au niveau de Sql Server (par défaut, seul l'authentification intégrée est utilisée).
- Créer un (au moins) compte pour ta base dans Sql Server.
- Modifier ta chaine de connexion pour fournir le nom du compte et son mot de passe à la place de Integrated Security.
Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...
Une réponse vous a aidé ? utiliser le bouton
"L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel
OK merci Bluedeep pour ces précisions
You do not fail until you quit
Ou bien il peut utiliser le compte sa, tout dépend du niveau des utilisateurs
Si c'est destiné au grand public, c'est à proscrire, mais si comme moi, tes applications sont destinés à des gens pour qui agrandir une colonne dans Excel est déjà un exploit, ça peut se faire sans risque. Ce n'est pas ce genre d'utilisateurs qui va aller réussir à exploiter une éventuelle faille de sécurité de l'application pour bousiller la DB . N'y connaissant rien en administration de base de données, c'est personnellement ce que j'ai été forcé de faire jusqu'à il y a quelques mois...
Kropernic
Je ne suis pas du tout d'accord avec toi.
Ca ne te protège pas contre TES propres conneries de programmation (exemple : oublier le nom de la base dans la chaine - il est facultatif - et de ce fait balancer des ordres DDL dans la base master - ce genre d'erreur, ça va très vite). En créant un compte dont les privilèges sont limités à ce que l'application doit faire, on se protège contre cela.
Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...
Une réponse vous a aidé ? utiliser le bouton
"L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel
Mes excuses, je n'ai pas été exhaustifs dans mon argumentation...
C'est sûr que si l'application exécute des ordres DDL, c'est tout de suite moins cool.
Bref, comme (presque) toujours en informatique, ça dépend du contexte. Perso, cela n'a jamais posé le moindre problème étant donné qu'il s'agit de petites applications de gestion (requêtes sql de type select, insert et update uniquement). Du coup, le risque avec le genre d'utilisateur qui mon concerne est voisin de zéro.
Bon après c'est clair que si on a la possibilité ("if we may and if we can" il n'y a pas cette nuance en français), autant faire autrement. Mais cela reste néanmoins une possibilité. Certes pas la meilleure mais une possibilité tout de même.
N.B. : Pour ceux que j'aurais choqué, j'utilise depuis que j'ai reçu une formation adéquate (car un jour on m'a dit "utilise sql server" et c'est que j'avais du faire^^), j'utilise l'integrated security dans un environnement domaine et je n'utilise de toute façon plus que des procédures stockées sans sql dynamique jusqu'ici.
Kropernic
Bonjour à tous,
Le problème est résolu : il fallait reconfigurer SQL Server pour autoriser les connexions à distance, créer une connexion et un utilisateur.
Merci beaucoup pour votre contribution.
Sujet clos.
Hiraa
You do not fail until you quit
Bonjour à tous,
Après avoir fait fonctionner l'application sur le réseau local (serveur + postes utilisateurs), actuellement je souhaite la mettre à disposition à d'autres utilisateurs via le web.
Peut-on la mettre chez un hébergeur comme le cas d'une application web : installer l'appli et la base de données chez un hébergeur ?
Merci d'avance de vos retours.
You do not fail until you quit
les hébergements web sont en général php/mysql
ceux en asp.net/sql server sont à mon avis légèrement plus cher
dans les 2 cas, la base de données n'est accessible que depuis le serveur, donc pas depuis internet
avec un serveur dédié tu peux ouvrir ta base sur internet
voir s'il y a ce qu'il te faut entre les 2 ...
sinon faire un webservice qui partage les données sur internet (wcf ou autre)
Merci Pol63.
Pour les deux cas php et asp.net, mon appli ne rentre dans ce cadre, car il s'agit d'une winform.
Par ailleurs, pour le webservice, cela me paraît compliqué à mettre en place pour une appli qui est déjà faite.
Pour le serveur dédié, comment peut on avoir un ? et quels sont les hébergeurs que peut on me recommander ?
Et dans ce cas comment va se faire l'accès à l'appli ?
Merci d'avance
You do not fail until you quit
certes mais hébergement veux dire hébergement web en général, l'hébergement de base de données est plus rare (mais ca existe, ne serait-ce qu'sql azure de microsoft)
normalement on réfléchit avant de développer ... s'il n'y avait pas de moyen d'avoir accès à une base de données à travers internet il te faudrait de toute facon tout redévelopper ...
dedibox, ovh, ikoula etc...
en serveur bas de gamme ca tourne autour de 20€/mois, avec l'assistance parfois minable qui avec et il faut alors prier pour que le serveur ne tombe pas en panne
après c'est une location, donc tu accèdes au serveur par tse et tu mets ce que tu veux dessus, tu peux installer sql server et le rendre accessible depuis l'extérieur, via l'addres ip du serveur, même fonctionnement que si le pc était sur un réseau local
si tu as une connexion fibre optique ou de l'adsl des petits besoins de transfert de données, tu peux te servir d'un serveur perso et paramétrer le tout pour que ca soit accessible depuis internet
je viens de jeter un oeil sur google pour l'hébergement sql server, ca a l'air de couter beaucoup plus cher qu'un serveur dédié (mais avec la sécurité géré par l'hébergeur au moins)
Je pense que je vais opter pour le serveur dédié avec l'utilisation du TSE.
Par ailleurs, après avoir lu un peu sur TSE, tout est exécuté au niveau du serveur, seul le résultat est envoyé à l'utilisateur, cela ne constitue pas un problème de performance au niveau du serveur, si l'application est lancée plusieurs fois par plusieurs utilisateurs ?
You do not fail until you quit
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager