从Windows窗体连接到远程数据库

时间:2012-08-10 17:40:01

标签: c# sql-server winforms

我有一个关于C#Windows Forms连接到外部托管数据库的问题。

我有一个GoDaddy SQLServer 2008数据库,用于我的Web开发数据库目的。我正在创建一个C#窗体,我需要连接到数据库。我知道如何将C#Windows窗体连接到本地数据库,所以我认为唯一的区别是使用不同的连接字符串。

我使用的连接字符串如下:

Data Source=limeoatsdb.db.8996219.hostedresource.com; Initial Catalog=database; User ID=userid; Password=password;

我用虚拟值替换了上面的值,但显然在我的代码中它们具有正确的值。

首先,是否可以将C#窗体连接到GoDaddy数据库?

其次,如果有可能,对我做错了什么想法?

3 个答案:

答案 0 :(得分:2)

这是不可能的。来自不管理的系统的GoDaddy blocks all connections to its databases

这是许多托管公司的典型。出于安全原因,您通常只能使用自己系统中的数据库。

如果您需要访问自己的数据,则需要创建某种形式的中间步骤,例如在您的网站中构建可由您的表单访问的API。

答案 1 :(得分:0)

除了GoDaddy阻止端口之外,我应该指出,如果您计划分发应用程序,这是一个坏主意。

如果您允许客户端直接连接到您的数据库,那么您基本上可以将前门打开。没有什么能阻止我使用SQL Management Studio连接到您的数据库服务器并摆弄您的数据。

以这种方式思考:在Web应用程序中,您永远不会让客户端JavaScript直接访问您的数据库。相反,它必须通过您的应用服务器。

我创建某种服务器,提供客户端Win Form可以调用的API。服务器甚至可以是提供REST / SOAP /任何API的常规Web服务器。一个好的起点可能是寻找WCF。

答案 2 :(得分:0)

是的,您可以连接到GoDaddy服务器上的SQL Server数据库。

这是我用来通过SQL Server Management Studio访问数据库的一项功能。

请检查:https://stackoverflow.com/questions/357147/go-daddy-sql-server-2005-remote-connection

基本上,在创建数据库时,请务必选中“直接访问”选项。

显然,这是一个你必须注意的安全问题。