【发布时间】:2013-06-10 14:44:22
【问题描述】:
我有一个需要 sql 数据库的 C# .Net 桌面应用程序项目,其中我打算使用云托管的 sql 数据库,而不是使用本地数据库,直到我发现 sql azure。我的问题就像标题一样,我只是想知道/澄清/确认我是否可以这样做?
【问题讨论】:
标签: c# .net azure desktop-application azure-sql-database
我有一个需要 sql 数据库的 C# .Net 桌面应用程序项目,其中我打算使用云托管的 sql 数据库,而不是使用本地数据库,直到我发现 sql azure。我的问题就像标题一样,我只是想知道/澄清/确认我是否可以这样做?
【问题讨论】:
标签: c# .net azure desktop-application azure-sql-database
从技术上讲,这不是问题。
SQL Azure 为您提供连接字符串,就像任何其他 SQL 数据库一样。
只要您的客户端 PC 可以访问 Azure 服务器,您就可以开始了。
这已在 SO:Is SQL Azure suitable for Desktop client applications
您可能需要考虑中间的 DAL,可能使用 WCF 或类似的东西,但上面的链接再次介绍了这一点。这将您的最终用户与您的数据库分离,这对包括版本控制和安全性在内的各种原因都有好处。
【讨论】:
是的,这绝对是可以做到的,我是根据我们在几个不同项目中的经验来谈谈的。
您的 C# 代码当然可以访问 SQL Azure 中保存的数据,但请务必记住,SQL Azure 存在于防火墙后面,并且您必须允许您的 IP 地址访问该服务 - 请记住,动态 IP 地址可以更改并且因此需要更新防火墙规则以反映这一点。理想情况下,使用您的 ISP 提供的静态 IP 地址来解决此问题。
您也可以从 SQL Server Management Studio 连接到您的 SQL Azure 数据库,因为 SQL Azure 提供了连接字符串来执行此操作。请记住 SQL Azure != SQL Server,因为类型和 T-SQL 有一些细微差别,但没有什么可以弄清楚的。
希望这会有所帮助!
【讨论】: