我是一个真正的新人,如果这个问题听起来很愚蠢,我会事先道歉。
我正在尝试创建一个允许我在Windows服务器上将客户数据发布到SQL Server的应用程序,这可能吗?如果是这样,我需要什么?
再次感谢您的帮助,如果这是一个愚蠢的问题,我再次道歉。
答案 0 :(得分:1)
您不应允许客户端应用程序直接访问您的数据库服务器。存在许多问题 - 安全性是重要的问题。
相反,创建一个Web服务来处理对数据库的访问。您还应该在此Web服务中控制对数据库的访问。
答案 1 :(得分:1)
jTDS在Android中运行良好。如果您不确定如何将jar添加到Android项目中,可以按照这些directions进行操作。您还需要考虑这样一个事实,即手机网络会增加您的应用程序的延迟,模拟器可能不会向您显示(这就是为什么这需要自己的线程,否则ui会在等待时被阻止)响应,用户将获得“强制退出”或“等待”应用程序无响应警告)。
Will Hughes指出的安全问题仍然非常有效。并且重要的是您不要创建执行此操作的消费级应用程序,但由于此应用程序很可能仅由内部员工/设备使用(根据您的描述),具体取决于您的确切业务用例,您可以能够使用SQL Server已经提供的非常精细的每用户级安全设置,并以这种方式管理您的一些安全性(虽然,我同意,这只能解决一些潜在的安全问题,但这并不能解决所有问题) )。
答案 2 :(得分:1)
他们解释了配置Web服务器(php),数据库(mySql)和客户端(java-android)
的第一步我看到它的方式,是最好的信息堆:D
PD:我也是一个菜鸟xD答案 3 :(得分:1)
检查此链接(抱歉用西班牙语,也许你需要一些帮助,但我设法让它工作)
Check this code, it may help you
尽管客户端不能直接访问数据库是一个很好的做法,但有些情况下,这正是您所需要的,而中间的Web服务,则不太可能正常工作。
我在汽车行业工作了6年,开发了大量使用C#客户端应用程序连接到SQL服务器来存储生产信息,这是标准程序,因此,如果您设法要求用户提供凭据或保存连接每次启动应用程序时,在其他地方下载字符串,并创建一组具有有限访问权限的特殊用户登录(在我的情况下,他们只能执行一组有限的存储过程和函数)你会没事的,也要确保只能通过LAN或VLAN访问数据库。
这是一个真实的情况,工作正常,并且会保持不变,直到出现新的东西,但肯定是中间网络服务,好吧,只是很糟糕,ASP或其他任何东西