繁体   English   中英

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

[英]How to connect to local database via website?

我有一个网站供客户用于报告目的,并希望客户选择我的网站直接读取他们的本地数据库(而不是他们提供文件格式的数据)。 在大多数情况下,他们的数据库将在其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上公开共享其数据库服务器的客户端一起使用吗? 对我而言,这似乎很难实现,但是我再也不擅长客户端脚本了。

您需要使用dns服务器,如dyndns。 您可以免费试用一个网址。 然后设置一个iis服务器。

我会设置一个本地SQL数据库并通过SilverLight应用程序连接。 然后,您可以使用Web(WCF)服务读取数据并将数据提交回Web服务器/主数据库。

我找到了关于将Silverlight连接到本地SQL数据库的链接。

http://erikej.blogspot.com/2010/02/access-local-sql-compact-database-from.html

但是,如果您的客户提供SQL Server主机地址,则ADO.NET或依赖它的任何层将连接到正确的服务器,而不是本地服务器。

我错了吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM