Discussion:
Conectar Via internet a SQL
(demasiado antiguo para responder)
Serafin Caballero
2005-10-04 13:59:54 UTC
Permalink
Buenas, necesito conectarme a sql server 2000, mediante el siguiente caso.
2 maquinas, ambas en provincias o estados diferentes
ambas tienen Windows XP Pro, solo una Sql Server
ambas con ADSL, para conectarce a internet,
y mi aplicaccion desarrollada en Visual Basic Net 2002...
Que debo hacer....para llegar a pegarme a la maquina que tiene Sql Server en
la otra provincia o estado?
Valdov
2005-10-04 14:51:07 UTC
Permalink
En el firewall de windows permitir las conexiones en la pc que tiene tu Sql
Server por el puerto 1433 (Normalmente) y si no tienes una ip fija en tu pc
con Sql Server date una vuelta por www.dyndns.org para que crees un dns
dinamico para que siempre tengas acceso de la misma manera a tu Sql Server.
La cadena de conexion sería algo como:

"Server=Tudominiodinamico_o_Ip,1433;Database=TuBaseDeDatos;User
ID=TuUsuario;Password=TuPassword;Trusted_Connection=False"


Espero te sea de utilidad.
--
Valdov
Omar Valdovino
Post by Serafin Caballero
Buenas, necesito conectarme a sql server 2000, mediante el siguiente caso.
2 maquinas, ambas en provincias o estados diferentes
ambas tienen Windows XP Pro, solo una Sql Server
ambas con ADSL, para conectarce a internet,
y mi aplicaccion desarrollada en Visual Basic Net 2002...
Que debo hacer....para llegar a pegarme a la maquina que tiene Sql Server en
la otra provincia o estado?
jmpedrero
2005-10-13 10:57:24 UTC
Permalink
Post by Valdov
En el firewall de windows permitir las conexiones en la pc que tiene tu Sql
Server por el puerto 1433 (Normalmente) y si no tienes una ip fija en tu pc
con Sql Server date una vuelta por www.dyndns.org para que crees un dns
dinamico para que siempre tengas acceso de la misma manera a tu Sql Server.
"Server=Tudominiodinamico_o_Ip,1433;Database=TuBaseDeDatos;User
ID=TuUsuario;Password=TuPassword;Trusted_Connection=False"
Espero te sea de utilidad.
¿Como seria la Cadena de conexion?. Pues tengo dos IP la publica y la local.
he encotrado esta cadena pero no me funciona.


oConn.Open("Driver={SQL Server};" & _
"Server=xxx.xxx.xxx.xxx;" & _
"Address=xxx.xxx.xxx.xxx,1433;" & _
"Network=DBMSSOCN;" & _
"Database=myDatabaseName;" & _
"Uid=myUsername;" & _
"Pwd=myPassword")
'Donde:
' - xxx.xxx.xxx.xxx is an IP address
'- 1433 is the default port number for SQL Server.
'- "Network=DBMSSOCN" tells ODBC to use TCP/IP rather than Named

por lo pronto Driver={SQL Server} no pertenece ala cadena y las IP
publicas y privada no se si se pueden poner asi.

¿Alguna idea? o solucion


Segun la ayuda de visual estudio el servidor se puede indicar:

Data Source
O bien
Server
O bien
Address
O bien
Addr
O bien
Network Address

¿El o bien indica que solo se debe indicar ?.¿que diferencia existe
entre ellos?


Saludos jmpedrero
Valdov
2005-10-14 16:00:11 UTC
Permalink
Haber, si te entiendo tu red esta detras de una ip publica fija, si es asi:

Dim SqlCon As SqlConnection

Dim SqlCmd As SqlCommand

Dim SqlDre As SqlDataReader

Dim strSql As String

strSql = "Select * from tabla"

SqlCon = New
SqlConnection("Server=IpFijaPublica,1433;Database=TuBaseDeDatos;User
ID=TuUsuario;Password=TuPassword;Trusted_Connection=False")

SqlCon.Open()

SqlCmd = New SqlCommand(strSql, SqlCon)

SqlDre = SqlCmd.ExecuteReader


Espero te sirva de algo. Sino explicame otra vez por favor.

Las cadenas de conexion estan en www.connectionstrings.com
--
Valdov
Omar Valdovino
Post by jmpedrero
Post by Valdov
En el firewall de windows permitir las conexiones en la pc que tiene tu
Sql Server por el puerto 1433 (Normalmente) y si no tienes una ip fija en
tu pc con Sql Server date una vuelta por www.dyndns.org para que crees un
dns dinamico para que siempre tengas acceso de la misma manera a tu Sql
"Server=Tudominiodinamico_o_Ip,1433;Database=TuBaseDeDatos;User
ID=TuUsuario;Password=TuPassword;Trusted_Connection=False"
Espero te sea de utilidad.
¿Como seria la Cadena de conexion?. Pues tengo dos IP la publica y la local.
he encotrado esta cadena pero no me funciona.
oConn.Open("Driver={SQL Server};" & _
"Server=xxx.xxx.xxx.xxx;" & _
"Address=xxx.xxx.xxx.xxx,1433;" & _
"Network=DBMSSOCN;" & _
"Database=myDatabaseName;" & _
"Uid=myUsername;" & _
"Pwd=myPassword")
' - xxx.xxx.xxx.xxx is an IP address
'- 1433 is the default port number for SQL Server.
'- "Network=DBMSSOCN" tells ODBC to use TCP/IP rather than Named
por lo pronto Driver={SQL Server} no pertenece ala cadena y las IP
publicas y privada no se si se pueden poner asi.
¿Alguna idea? o solucion
Data Source
O bien
Server
O bien
Address
O bien
Addr
O bien
Network Address
¿El o bien indica que solo se debe indicar ?.¿que diferencia existe entre
ellos?
Saludos jmpedrero
jmpedrero
2005-10-15 09:50:26 UTC
Permalink
Post by Valdov
Dim SqlCon As SqlConnection
Dim SqlCmd As SqlCommand
Dim SqlDre As SqlDataReader
Dim strSql As String
strSql = "Select * from tabla"
SqlCon = New
SqlConnection("Server=IpFijaPublica,1433;Database=TuBaseDeDatos;User
ID=TuUsuario;Password=TuPassword;Trusted_Connection=False")
SqlCon.Open()
SqlCmd = New SqlCommand(strSql, SqlCon)
SqlDre = SqlCmd.ExecuteReader
Espero te sirva de algo. Sino explicame otra vez por favor.
Las cadenas de conexion estan en www.connectionstrings.com
Lo que dices es correcto,mi servidor esta detras de un ip publica, pero
conectado a otros ordenadores con sus correspondientes ip locales

¿Tendre que indicarle de alguna forma (ip local) en cual de esos
ordenadores locales conectados en red esta elservidor SQL?


el codigo anterior me funciona cuando me conecto dentro de la red local
poniendo la ip la localdel servidor SQL

saludos
Valdov
2005-10-15 17:17:37 UTC
Permalink
Si entras a www.dyndns.org y creas una cuenta, ademas de un servicio de
dominio dinamico y lo complementas con el direct update
(http://www.directupdate.net/) instalado en la pc que tiene el sql server,
el dominio dinamico que registraste hara que la pc que tiene el direct
update apuntando a ese dominio dinamico sea visto en todo internet es como
tener un .com, solo que aca tendrias un .dyndns.org o algo por el estilo,
entonces ya no haces referencia a ip sino al dominio dinamico que
registraste.
--
Valdov
Omar Valdovino
Post by jmpedrero
Post by Valdov
Dim SqlCon As SqlConnection
Dim SqlCmd As SqlCommand
Dim SqlDre As SqlDataReader
Dim strSql As String
strSql = "Select * from tabla"
SqlCon = New
SqlConnection("Server=IpFijaPublica,1433;Database=TuBaseDeDatos;User
ID=TuUsuario;Password=TuPassword;Trusted_Connection=False")
SqlCon.Open()
SqlCmd = New SqlCommand(strSql, SqlCon)
SqlDre = SqlCmd.ExecuteReader
Espero te sirva de algo. Sino explicame otra vez por favor.
Las cadenas de conexion estan en www.connectionstrings.com
Lo que dices es correcto,mi servidor esta detras de un ip publica, pero
conectado a otros ordenadores con sus correspondientes ip locales
¿Tendre que indicarle de alguna forma (ip local) en cual de esos
ordenadores locales conectados en red esta elservidor SQL?
el codigo anterior me funciona cuando me conecto dentro de la red local
poniendo la ip la localdel servidor SQL
saludos
jmpedrero
2005-10-15 18:19:09 UTC
Permalink
Post by Valdov
Si entras a www.dyndns.org y creas una cuenta, ademas de un servicio de
dominio dinamico y lo complementas con el direct update
(http://www.directupdate.net/) instalado en la pc que tiene el sql server,
el dominio dinamico que registraste hara que la pc que tiene el direct
update apuntando a ese dominio dinamico sea visto en todo internet es como
tener un .com, solo que aca tendrias un .dyndns.org o algo por el estilo,
entonces ya no haces referencia a ip sino al dominio dinamico que
registraste.
Mi ip publica es fija no necesito crear ninguna cuenta dyndns.org

¿Has conseguido conectarte de alguna forma?
Valdov
2005-10-17 22:19:41 UTC
Permalink
Yo si lo tengo conectado y sin problemas, tal vez si pones algo de codigo
sea mas facil ver el problema.
--
Valdov
Omar Valdovino
Post by jmpedrero
Post by Valdov
Si entras a www.dyndns.org y creas una cuenta, ademas de un servicio de
dominio dinamico y lo complementas con el direct update
(http://www.directupdate.net/) instalado en la pc que tiene el sql
server, el dominio dinamico que registraste hara que la pc que tiene el
direct update apuntando a ese dominio dinamico sea visto en todo internet
es como tener un .com, solo que aca tendrias un .dyndns.org o algo por el
estilo, entonces ya no haces referencia a ip sino al dominio dinamico que
registraste.
Mi ip publica es fija no necesito crear ninguna cuenta dyndns.org
¿Has conseguido conectarte de alguna forma?
jmpedrero
2005-10-18 08:37:26 UTC
Permalink
Post by Valdov
Yo si lo tengo conectado y sin problemas, tal vez si pones algo de codigo
sea mas facil ver el problema.
Este codigo:

Dim SqlCon As SqlConnection
Dim SqlCmd As SqlCommand

Dim SqlDre As SqlDataReader


SqlCon = New
SqlConnection("Server=83.37.164.140,1433;Database=master;User
ID=sa;Trusted_Connection=False")

Try
SqlCon.Open()
Catch ex As Exception
MsgBox(ex.Message)
End Try




seria el que segun tu cadena de conexion,

"Server=Tudominiodinamico_o_Ip,1433;Database=TuBaseDeDatos;User
ID=TuUsuario;Password=TuPassword;Trusted_Connection=False"


deberia conectarse a un ser vidor remoto por internet, pero ademas de la
ip publica (83.37.164.140) tengo la ip local (192.168.0.2) que supongo
que de alguna forma debe estar presente en la cadena de conexion y digo
yo, el puerto 1433 pertenece a la ip local.

Si tu te has conectado, ¿me puedes pasar la cadena de conexion tuya que
te haya funcionado?.


saludos

P.D. el codigo que te he puesto, funciona perfectamente si cambio la ip
publica por la local y me conecto en red con el servidor SQL, osea que
el servidor esta perfectamente configurado.
Valdov
2005-10-18 14:28:35 UTC
Permalink
La ip local no debes ocuparla, con la publica deberías lograr la conexión,
la cadena de conexion es:

"Server=201.129.142.231,1433;Database=BaseDatos;User
ID=User;Password=ElPassword;Trusted_Connection=False"

¿Desde tu red interna ven al servidor como? ¿Lo pueden ver con la ip publica
o el acceso siempre es con la ip local? ¿Tienen acceso a internet las
computadoras de la red interna? ¿Le haces ping a la ip publica desde un
cliente de tu red local?
--
Valdov
Omar Valdovino
Post by Valdov
Post by Valdov
Yo si lo tengo conectado y sin problemas, tal vez si pones algo de codigo
sea mas facil ver el problema.
Dim SqlCon As SqlConnection
Dim SqlCmd As SqlCommand
Dim SqlDre As SqlDataReader
SqlCon = New
SqlConnection("Server=83.37.164.140,1433;Database=master;User
ID=sa;Trusted_Connection=False")
Try
SqlCon.Open()
Catch ex As Exception
MsgBox(ex.Message)
End Try
seria el que segun tu cadena de conexion,
"Server=Tudominiodinamico_o_Ip,1433;Database=TuBaseDeDatos;User
ID=TuUsuario;Password=TuPassword;Trusted_Connection=False"
deberia conectarse a un ser vidor remoto por internet, pero ademas de la
ip publica (83.37.164.140) tengo la ip local (192.168.0.2) que supongo que
de alguna forma debe estar presente en la cadena de conexion y digo yo, el
puerto 1433 pertenece a la ip local.
Si tu te has conectado, ¿me puedes pasar la cadena de conexion tuya que te
haya funcionado?.
saludos
P.D. el codigo que te he puesto, funciona perfectamente si cambio la ip
publica por la local y me conecto en red con el servidor SQL, osea que el
servidor esta perfectamente configurado.
Valdov
2005-10-18 14:29:47 UTC
Permalink
¿Puedes conectarte desde cualquier otra computadora fuera de la red local?
--
Valdov
Omar Valdovino
Post by Valdov
Post by Valdov
Yo si lo tengo conectado y sin problemas, tal vez si pones algo de codigo
sea mas facil ver el problema.
Dim SqlCon As SqlConnection
Dim SqlCmd As SqlCommand
Dim SqlDre As SqlDataReader
SqlCon = New
SqlConnection("Server=83.37.164.140,1433;Database=master;User
ID=sa;Trusted_Connection=False")
Try
SqlCon.Open()
Catch ex As Exception
MsgBox(ex.Message)
End Try
seria el que segun tu cadena de conexion,
"Server=Tudominiodinamico_o_Ip,1433;Database=TuBaseDeDatos;User
ID=TuUsuario;Password=TuPassword;Trusted_Connection=False"
deberia conectarse a un ser vidor remoto por internet, pero ademas de la
ip publica (83.37.164.140) tengo la ip local (192.168.0.2) que supongo que
de alguna forma debe estar presente en la cadena de conexion y digo yo, el
puerto 1433 pertenece a la ip local.
Si tu te has conectado, ¿me puedes pasar la cadena de conexion tuya que te
haya funcionado?.
saludos
P.D. el codigo que te he puesto, funciona perfectamente si cambio la ip
publica por la local y me conecto en red con el servidor SQL, osea que el
servidor esta perfectamente configurado.
jmpedrero
2005-10-18 20:15:15 UTC
Permalink
puedo hacer ping a la ip publica
desde cualquier ordenador de la red local
desde cualquier ordenador conectado a internet
y me responde correctamente.

me conecto al servidor SQL desde cualquier ordenador de la red privada
con la ip local del servidor

Pero con la misma cadena de conexion con la ip publica en la cadena de
conexion nada, ni desde el mismo ordenador que actua como servidor ni
desde ningun puesto de trabajo y por supueto desde un ordenador
conectado a intenet menos.
Valdov
2005-10-19 15:13:28 UTC
Permalink
te manda algun error en especifico?
hay algun firewall en el que no permitas el puerto 1433?
--
Valdov
Omar Valdovino
Post by jmpedrero
puedo hacer ping a la ip publica
desde cualquier ordenador de la red local
desde cualquier ordenador conectado a internet
y me responde correctamente.
me conecto al servidor SQL desde cualquier ordenador de la red privada con
la ip local del servidor
Pero con la misma cadena de conexion con la ip publica en la cadena de
conexion nada, ni desde el mismo ordenador que actua como servidor ni
desde ningun puesto de trabajo y por supueto desde un ordenador conectado
a intenet menos.
jmpedrero
2005-10-19 16:15:41 UTC
Permalink
Post by Valdov
te manda algun error en especifico?
hay algun firewall en el que no permitas el puerto 1433?
Por fin lo he conseguido, todo el problemas estaba en mi router y mi
ignorancia de la existencia de (NAT) Network Address Translation
traducido "Traducción de Direcciones de Red".
Toda mi obsesion era de como sabia el router con la direccion publica
donde a que ordenador local debia entregar los paquetes de sql, pues
incluso podia tener dos servidors de sql en una misma red privada y
esto es lo que hace el NAT.

Gracias por la ayuda

saludos

jmpedrero
Valdov
2005-10-19 16:36:15 UTC
Permalink
No pues de que, al final tu solo lo resolviste, creo que debi preguntar
desde el principio acerca de algun firewall o router que impidiera el acceso
al puerto 1433 o en este caso que no lo redireccionara a tu server. Jeje,
por eso si podias entrar con la ip privada, no hacias uso del router.
--
Valdov
Omar Valdovino
Post by jmpedrero
Post by Valdov
te manda algun error en especifico?
hay algun firewall en el que no permitas el puerto 1433?
Por fin lo he conseguido, todo el problemas estaba en mi router y mi
ignorancia de la existencia de (NAT) Network Address Translation traducido
"Traducción de Direcciones de Red".
Toda mi obsesion era de como sabia el router con la direccion publica
donde a que ordenador local debia entregar los paquetes de sql, pues
incluso podia tener dos servidors de sql en una misma red privada y esto
es lo que hace el NAT.
Gracias por la ayuda
saludos
jmpedrero
Javier Rojas Goñi/ Parse Software
2005-10-04 14:51:33 UTC
Permalink
Serafin,

Se deben cumplir las siguientes condiciones:
- La máquina que tiene SQL Server debe tener idealmente una dirección IP
fija (eso se puede solicitar en el contrato ADSL).
- Los firewall de ambas máquinas deben configurarse para permitir el paso de
los paquetes SQL

En esas condiciones te conectas tal y como si la máquina estuviera en tu red
local.

Saludos,
--
Javier Rojas Goñi
PARSE Software Chile
----
***@parse.cl
56-32-666366


-
Post by Serafin Caballero
Buenas, necesito conectarme a sql server 2000, mediante el siguiente caso.
2 maquinas, ambas en provincias o estados diferentes
ambas tienen Windows XP Pro, solo una Sql Server
ambas con ADSL, para conectarce a internet,
y mi aplicaccion desarrollada en Visual Basic Net 2002...
Que debo hacer....para llegar a pegarme a la maquina que tiene Sql Server en
la otra provincia o estado?
Martin Cid
2005-10-04 17:51:07 UTC
Permalink
Lo que te dicen es correcto pero no te lo aconsejo por problemas de seguridad, mejor hazte un servicio windows o por net remoting, ten en cuenta que aunque ofusques el codigo la cadena de conexion seria visible y no impediria a nadie hacerte un drop de tu BBDD. Salu2.
Post by Serafin Caballero
Buenas, necesito conectarme a sql server 2000, mediante el siguiente caso.
2 maquinas, ambas en provincias o estados diferentes
ambas tienen Windows XP Pro, solo una Sql Server
ambas con ADSL, para conectarce a internet,
y mi aplicaccion desarrollada en Visual Basic Net 2002...
Que debo hacer....para llegar a pegarme a la maquina que tiene Sql Server en
la otra provincia o estado?
Continúe leyendo en narkive:
Loading...