如何通过网站连接到本地数据库?

我有一个网站供客户用于报告目的,并希望客户选择我的网站直接读取他们的本地数据库(而不是他们提供文件格式的数据)。 在大多数情况下,他们的数据库将在其localhost上设置SQL Express。 如何使用asp.net / javascript等通过我的网站连接到客户端本地SQL服务器?如果客户端提供其连接字符串属性,则localhost将仅引用我的服务器的localhost ... 考虑以下 : 大多数人通过ISP连接到互联网。他们的数据库将在他们的localhost上运行,并且不会有这样的公共地址。 理想情况下,客户端必须提供一些连接字符串(数据库名称,登录等),我的服务器必须连接。 VPN不适用于此 - 我必须连接到它们(以编程方式)并提取数据,而不是相反。 谢谢     
已邀请:
提供客户端防火墙已配置为允许连接到SQL Server(默认端口为1433),没有什么能阻止您创建与它的连接。但是,这样做有安全考虑。您的客户可能希望仅允许从您的Web服务器IP地址进行连接。 您也可以考虑使用VPN,例如Windows或Hamachi提供的VPN。     
我认为如果运行数据库的计算机不在公共地址上,您将无法连接到远程数据库。他们需要1)指定他们的公共地址2)在他们的防火墙中打开正确的端口。根据他们的设置(带有简单路由器/防火墙的家庭办公室,带有防火墙的公司办公室,他们无法自由更改等),这可能会或可能不会提供很大的跳跃。 对此的解决方案是让客户首先连接到您共享的VPN,例如Moo-Juice提到的。 编辑:对不起,在你的问题中错过了关于VPN的最后一部分。如果我正确地理解你,你基本上希望它们能够作为“客户”连接到你的应用程序,但他们发送的数据将是他们的数据库。但是,您希望这可以与不在Internet上公开共享其数据库服务器的客户端一起使用吗?对我而言,这似乎很难实现,但是我再也不擅长客户端脚本了。     
但是,如果您的客户提供SQL Server主机地址,则ADO.NET或依赖它的任何层将连接到正确的服务器,而不是本地服务器。 我错了吗?     
您需要使用dns服务器,如dyndns。您可以免费试用一个网址。然后设置一个iis服务器。     
我会设置一个本地SQL数据库并通过SilverLight应用程序连接。然后,您可以使用Web(WCF)服务读取数据并将数据提交回Web服务器/主数据库。 我找到了关于将Silverlight连接到本地SQL数据库的链接。 http://erikej.blogspot.com/2010/02/access-local-sql-compact-database-from.html     

要回复问题请先登录注册