我希望我的应用程序可以同时被多个用户访问 SQL 数据库

Posted

技术标签:

【中文标题】我希望我的应用程序可以同时被多个用户访问 SQL 数据库【英文标题】:i want my application to be access by more than one user at the same time SQL database 【发布时间】:2016-11-23 03:40:03 【问题描述】:

我在C#sql server 2008 中开发了一个桌面应用程序。 现在我希望多个用户同时访问我的应用程序。

这个想法是数据库应该在 1 台 PC(服务器)上,应用程序将安装在所有连接在 LAN 中的其他 PC(客户端)上。我希望来自不同 PC(客户端)的所有用户都可以访问数据库(在 SERVER 上)并执行 CRUD 操作。

我的 conn,cnf 文件有连接字符串:

server=.\SQLEXPRESS;Initial Catalog=Database1med;Trusted_Connection=Yes;\

我不知道执行此操作的步骤。请帮助实现这个想法。

【问题讨论】:

【参考方案1】:

您需要将身份验证模式更改为 SQL Server 身份验证 (Read More Here)

那你需要把你的连接字符串改成这样:

server=192.168.1.1\SQLEXPRESS;Initial Catalog=Database1med;User Id=myUsername;
Password=myPassword;

假设192.168.1.1是你提到的服务器的IP地址。

为此,您的意思是需要激活 sa 用户(让您的用户使用 sa 访问不是一个好主意)或创建新登录名 (Read More here)

对于网络访问配置:Read this。

您需要禁用防火墙(仅用于测试目的 - 不推荐)。或Create Rules 使用Control Panel => Firewall => Allow a program through Windows Firewall

为端口 TCP 1433 创建入站规则 - 允许连接 为端口 TCP 1433 创建出站规则 - 允许连接

完成所有这些操作后,不要忘记从配置管理器中重新启动 SQL-Server 实例。

【讨论】:

但它显示错误 @jijo 网络访问配置不是小菜一碟,因为它有安全副作用。您需要配置防火墙,以便其他机器可以访问 SQL 端口:阅读:technet.microsoft.com/en-us/library/ms165718(v=sql.105).aspx 我启用了 TCP/IP 并配置了 windows 防火墙,但又遇到了同样的错误 我启用了 TCP/IP 并配置了 windows 防火墙,但又遇到了同样的错误 ,@currarpickt 有没有其他方法可以从另一台电脑访问sql server 2008,【参考方案2】:

http://www.linglom.com/it-support/enable-remote-connection-on-sql-server-2008-express/这是您可以查看的答案

【讨论】:

以上是关于我希望我的应用程序可以同时被多个用户访问 SQL 数据库的主要内容,如果未能解决你的问题,请参考以下文章

多个请求是多线程吗

这是允许多个用户同时访问数据库的好方法吗?

如何在应用程序中同时处理多个用户请求

锁定用户记录并阻止编辑?

在访问中将数据插入多个表的最佳方法?

mysql支持多用户同时读写吗