-
SQLexpress et Internet
Bonjour,
J'aurais besoins d'information sur sql et internet.Je vous explique mes besoins.
Je travail dans une petite usine qui posséde 4 postes avec xp pro, un réseau et une livebox pour l'accé internet.
j'ai programmé une traçabilité sur access.Mais voila je penche de plus en plus pour la migrer vers sql .J'ai installé sur le poste principal SQL Serveur Express 2005 et vb express 2008.
j'ai fait un test de migration de ma base sur sql ainsi qu'un premier test de connection.Jusque là tout est ok.
Mon responsable de production m'a demander de touver une solution pour qu'il
puisse modifier ses plannings de production depuis chez lui car actuellement il doit revenir à l'usine en cas de commande urgente.
l' IP de mon usine est dynamique mais j'ai la possibilité de faire un petit programme qui mettrait mon ip sur un site de mon choix avec un renouvellement tous les heures par exemples.
Donc a partir du moment ou je connais en quasi permanence mon IP est il possible de me connecter sur ma base sql qui est à ma société?
Se que je pense faire est un bout de code qui sera chez mon responsable.
Lorsqu'il le lancera, celui-ci ira sur le site et téléchargera le fichier ou j'ai mis l'IP de ma société puis il se connectera sur sql server.
j'ai compris comment me connecter en local :
Dim nom_connection As String = "Data Source=192.168.1.100\SQLEXPRESS; Initial catalog=maintenanceSQL; integrated security=false; user id=essai; password=essai"
Mais pour passer par internet comment puis-je faire ?
Faut il aussi que je modifie des parametres ma livebox ?
J'espére que vous pourrez éclairer ma lanterne car sur ce coups là elle ne brille pas fort.
salutation.
-
Etant donné que votre serveur est sur un reseau local derrière le routeur qu'est la livebox, vous devez configurer la livebox pour qu'elle redirige les paquets destinés à SQL Server sur l'ip locale du serveur SQL Server.
Ces paquets transitent par le port 1433 en TCP (à vérifier).
Pour effectuer ce paramétrage, faites une recherche "port forwarding livebox" ou "redirection port livebox".
D'autres part, concernant l'ip publique de votre livebox, il existe des services tout prêt dits de "dns dynamique" gratuits bénéficier d'un nom fixe qui renvoie vers une ip dynamique (exemple dyndns : http://fr.wikipedia.org/wiki/DynDNS). Un outil est généralement fourni et vous évitera d'avori recours à votre utilitaire.
Attention cependant à la sécurité une fois votre serveur accessible depuis l'extérieur.
-
re
bonjour,
tout d'abord merci pour votre réponse.
En ce qui concerne la livebox je vais voir comment gérer le probleme.
Pour dyndns j'avais bien vue qu'il transformé une IP dynamic en static mais
rien ne me disais que cela été gratuit.;)
Mais supposons que j'ai ouvert un compte chez dyndns comment faire pour ouvrir la base sql qui est a mon usine?
salutations
-
Une fois que vous avez redirigé le port utilisé par SQL Server sur l'ip locale du serveur SQL Server, dans votre chaine de connexion, vous n'avez qu'à mentionner l'ip publique (ou le nom si vous utilisez un service du type dyndns).
-
re
Bonjour vmolines,
Pourriez vous être plus precis car j'ai un peu de mal à suivre.
au fait j'ai créer une adresse dyndns.
j'ai modifier la live box et ouvert un port 3389 pour le dns.
j'ai fait un test de connection de bureau a distance et cela fonctionne
mais si j'entre datasource="xxx.dyndns.xxx:3389 ......"
alors rien
encore merci pour votre interet
laurent
-
Déjà procédez par étape.
On se fiche du dns dans un premier temps donc utilisez l'ip publique.
Ensuite concernant le port, pourquoi mentionnez vous le 3389 ? Je vous ai expliqué que vous deviez utiliser le port de SQL Server qui est 1433 par défaut.
Supprimez votre redirection du port 3389 et faites en une pour le port utilisé par SQL Server.
Si la machine sur laquelle tourne SQL Server dispose d'un firewall, il faudra aussi laisser passer le traffic sur le port nécessaire à SQL Server.
Une fois la connexion réalisée, substituez l'ip publique par le dns que vous utilisez.
-
re bonjour,
etant donné que c'est la premiere fois que je fait cette action je suis un peu perdu mais bon, j'ai supprimer dans la live box le port 3389 j'ai reconfigué comme ceci:
Routeur - NAT
La redirection de port permet de faire suivre certaines connexions Internet entrantes vers un ordinateur particulier de votre réseau.
Adresse IP de votre ordinateur : 192.168.1.100
Service Protocole Port externe Port interne Adresse IP du serveur Supprimer
DNS TCP 1433 1433 192.168.1.100
le poste sur lequel il y a sql est equippé de bit deffender V10 avec firewall inclu
j'ai mis sur un autres poste un prg pour aller lire en local
datasource=192.168.1.100 ->ok
mais si je remplace par
datasource= xx.x.xx.xxx adresse ip publique alors rien
mon parefeu ne me signale rien.aucune activité
salutations
-
Medhi
bjr tt le monde voila j'ai un problem & j'ai beau chérche mais rien !
voila j'ai une application en ADO.NET qui comunique avec une base de données SQL server 2000 mais on vien de me demandé de la rendre accessible sur internet c'est a dit la ou on instal l'application une foi connecté sur internet ca marche apparament les utilisateur veux travailler aussi chez eux.pour info ts les post son connécté diréctement et individuellement a internet avec une ligne ADSL ou modem 3G.
-
pour skilopop
bonjour skilopop,
je travaille actuellement sur le problème.
Si j'ai une solution je te la comuniquerai.
salutations.
-
Je vous conseille plutôt d'opter pour un hébergement de votre base et les applications qui vont avec. Sachez que certains hébergeur comme 1 and 1 sont peu chers... Cela vous permettra d'attaquer la base et l'appli de partout avec vélocité et en toute sécurité.
Sinon, le temps que vous allez passer pour configurer cela et constater la lenteur de l'ensemble du système coutera plus cher à votre entreprise que la solution hébergée...
A +
-
re
bonjour sqlpro,
merci pour l'info je vais voir pour cela car effectivement les prix sont correct.
Mais pour ma culture personnel pourriez vous m'aider sur la connection
sql via le net.
Encore merci
-
Tout a été dit. Je récap dans l'ordre les points à vérifier pour arriver à effectuer la connexion :
- ping de l'ip publique ok
- prendre l'ip du serveur dans votre reseau local
- redirection du port utilisé par sql server sur l'ip locale du serveur qui héberge la bdd
- déblocage du port sur firewall (ou désactivation temporaire)
- essai de connexion sur l'ip publique depuis le net avec un client de bdd autre que votre application (sql server management studio)
- essai de connexion sur l'ip publique depuis le net via votre application
-
re
merci vmolines pour toutes ses infos,
mais là ou ca bloque c'est à l'avant dernier point
1)je fait un ping sur ip public ->ok
C:\>ping xx.xx.xx.xxx
Envoi d'une requête 'ping' sur xx.xx.xx.x avec 32 octets de données*:
Réponse de xx.xx.xx.xxx*: octets=32 temps=1 ms TTL=64
Réponse de xx.xx.xx.xxx*: octets=32 temps=1 ms TTL=64
Réponse de xx.xx.xx.xxx*: octets=32 temps=1 ms TTL=64
Réponse de xx.xx.xx.xxx*: octets=32 temps=1 ms TTL=64
Statistiques Ping pour xx.xx.xx.xxx:
Paquets*: envoyés = 4, reçus = 4, perdus = 0 (perte 0%),
Durée approximative des boucles en millisecondes :
Minimum = 1ms, Maximum = 1ms, Moyenne = 1ms
2)ip serveur=192.168.1.100
3)ouverture du port dans livebox->ok
Routeur - NAT
La redirection de port permet de faire suivre certaines connexions Internet entrantes vers un ordinateur particulier de votre réseau.
Adresse IP de votre ordinateur : 192.168.1.100
Service Protocole Port externe Port interne Adresse IP du serveur Supprimer
SqlEntree TCP 1433 1433 192.168.1.100
4)avec sql manager test
si j'entre nom du serveur : xx.xx.xx.xxx\sqlexpress
authentification: authentification windows
->impossible de se connecter erreur 26
5) test depuis mon prog : idem au 4°
Quand j'aurais résolu le 4° tous sera ok je pense
en tous cas merci pour la patience que vous m'avez offert jusqu'a présent.
salutations.
-
1 pièce(s) jointe(s)
Il y a un autre point à vérifier que j'ai oublié et qui est important.
Dans le menu démarrer de sql server, lancer l'outil de configuration de l'exposition. Regardez l'image jointe pour faire accepter les connexions tcp au server.
Attention aussi au mode d'authentification pour la phase login. Je ne sais pas si une authentification windows distante est possible dans votre cas
.
-
2 pièce(s) jointe(s)
re
re-bonjour, vmolines,
je commence vraiment à me demander se qui cloche:(
j'a vérifier ma surface d'exposition elle est bien sur connexion local et distante
et elle est sur tcp/ip et canaux només.(voir piéce jointe)
j'ai même desactivé temporairement mon parfeu.
J'ai bien vérifié aussi que celui de windows soit aussi désactivé.
Mais sur sql server management sa bloque (voir piéces jointes).
Je doit certainement loupé une bricole mais je ne sais pas quoi.
salutations.
Je croix que sur ce coups là, ma patience vas être mise à rude épreuve.
Et en tout cas merci pour ta patience.
-
Testez une connexion à partir d'une autre machine du même réseau local que votre serveur sql server (en utilisant l'ip locale).
Si ça passe, cela traduit un problème de redirection de port. Sinon il faudra faire d'autres tests.
-
1 pièce(s) jointe(s)
ENFIN Résolu
Bonjour,
Merci à vous vmolines pour votre patience.:king:
Ma la percévérence à enfin payé.:mouarf:
En fait le problème venais de la configuration de Sql Server
Dans configuration manager il faut activer deux propriétes. (voir piéce jointe)
Maintenant tout est ok.:yaisse2:
Quand à vous skilopop, lisait les posts et je croix que tout dois marcher.
Encore merci à vous vmolines.
et merci aussi a sqlpro pour votre reponse je vais regarder ça de pres aussi.
Ps: Il serait une bonne chose que quelqu'un fasse un bon tutoriel car on ne trouve rien sur le net a propos de la connextion tcp.
-
Le topic servira de guide d'ici à ce qu'il soit repris dans la FAQ par exemple.
Je connaissais pas tous les tenants et les aboutissants de l'accessibilité de SQL Server à travers tcp, vos tâtonnements me serviront sûrement un jour.
Bonne continuation