2012-05-09 76 views
0

假设我有两个PC都可以通过互联网。 我需要访问PC1PC2的数据库。 我的IP版本协议对话框下方的截图。远程数据库访问任何通过互联网

enter image description here

注: PC1是我的电脑数据库,在那里应该驻留和PC2将任何一台PC在互联网上

我使用Silverlight开发网页\网页。 而对于本地访问数据库(MS SQL Server),我使用以下连接字符串。

<connectionStrings> 
<add name="SkiResultEntities" connectionString="metadata=res://*/SkiResultModel.csdl|res://*/SkiResultModel.ssdl|res://*/SkiResultModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=PRITESHARYAN-PC\PRITESHB_ARYAN;Initial Catalog=SkiResultData;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" /> 
    </connectionStrings> 

在我的连接字符串或SQL Server数据库设置中,我应该做些什么修改? 所以数据库在我的电脑是PC1可以访问来自任何人在互联网上... 请帮助.....

+1

你不能真的这样做,给你的私人,NAT保护IP块。你不应该也想。但是,假设你想要,你需要找出你的公共IP(这可能会改变)并使用它,并通过youtlr路由器/防火墙打开正确的TCP/IP端口。仍然不推荐。更好的选择:网络服务。 –

+0

任何好的例子...如何使用webservices ..? – Pritesh

+0

@AndrewBarber其实我也不知道有关它的任何事情...如何打开TCP/IP端口或等... – Pritesh

回答

1

鉴于您正在使用Silverlight,远程PC将不会直接访问数据库,而是通过您在PC1上运行的服务器访问数据库。

这是相当复杂和涉及。步骤:

  • 设置IIS

  • 部署Silverlight应用程序到IIS(你需要改变你的连接字符串使用用户名,密码 - 而不是集成安全性)。验证它的工作。

  • 修改路由器到80个端口请求转发到192.168.137.115:80

  • 修改你的电脑防火墙启用入站端口80通信

  • 获取路由器的IP地址(使用http://WhatsMyIpAddress.com

  • 验证端口转发的工作原理是前一步骤中的http://xxx.xxx.xxx.xxx

  • 向PC2上的用户提供上述URL(请注意,某些ISP可能会更改您的IP地址)。

1

您可以尝试使用these instructions创建VPN两者之间的计算机。我还没有尝试过这一点,并基于几个在线评论和问题,这对于不同版本的Windows来说很困难。