C# SQL 从另一台 PC 访问数据库
C# SQL database access from another PC
我正在使用 C#、.NET Framework 4.5.2 和 SQL Server 2014 Express Edition (v12.0.2000)。我的要求是从另一台 PC 客户端系统访问该软件。软件在服务器 PC 上运行良好,但在客户端 PC 上无法访问。
工作至今
我按照以下两个微软官方文档使数据库可以在另一台PC上访问:
- https://docs.microsoft.com/en-us/sql/relational-databases/lesson-1-connecting-to-the-database-engine?view=sql-server-ver15
- https://docs.microsoft.com/en-us/sql/relational-databases/lesson-2-connecting-from-another-computer?view=sql-server-ver15
为了连接两台 PC,我遵循了 this tutorial。
到目前为止的结果
我可以访问网络目录中的软件。我可以运行客户端PC上的.exe
软件文件。我可以在客户端 PC 上访问 Microsoft SQL Server Management Studio 中的 SQL 服务器。
暂时做不到
到目前为止我唯一不能做的是我在客户端PC上的软件无法访问数据库。显示错误
Login failed for user
连接字符串
我认为应该是连接字符串错误。我尝试了三种不同的连接字符串,让我在这里写下:
Data Source=.\SQLEXPRESS;Database=dbposrpc;trusted_connection=true;
Data Source=.\SQLEXPRESS;Initial Catalog=dbposrpc;User ID=sa;Password=12345678;
Data Source=tcp:DESKTOP-0DCQGE3,49172;Initial Catalog=dbposrpc;User ID=sa;Password=12345678;
SQLEXPRESS
是SQL服务器实例名,DESKTOP-0DCQGE3
是服务器PC名,49172
是我选择的TCP端口。
要从远程 PC(客户端的 PC)访问软件,您需要在 Windows Defender Firewall with Advanced Security
中添加 inbound rules
用于托管软件的此端口,然后您还需要从您的端口转发该端口服务器电脑。
问题已解决!我遵循的所有步骤都是完美的。你可以这样说,如果你想使用以太网连接来连接到客户端的 PC。逐步按照相关步骤操作。关注连接字符串。使用数字3的连接字符串。让我再写一次以澄清。
Data Source=tcp:DESKTOP-0DCQGE3,49172;Initial Catalog=dbposrpc;User ID=sa;Password=12345678;
这里SQLEXPRESS
是SQL服务器实例名,DESKTOP-0DCQGE3
是服务器PC名,49172
是我选择静态的TCP端口
我是如何解决这个问题的?
我刚刚清除了解决方案,再次重新启动项目,一切正常。
我正在使用 C#、.NET Framework 4.5.2 和 SQL Server 2014 Express Edition (v12.0.2000)。我的要求是从另一台 PC 客户端系统访问该软件。软件在服务器 PC 上运行良好,但在客户端 PC 上无法访问。
工作至今
我按照以下两个微软官方文档使数据库可以在另一台PC上访问:
- https://docs.microsoft.com/en-us/sql/relational-databases/lesson-1-connecting-to-the-database-engine?view=sql-server-ver15
- https://docs.microsoft.com/en-us/sql/relational-databases/lesson-2-connecting-from-another-computer?view=sql-server-ver15
为了连接两台 PC,我遵循了 this tutorial。
到目前为止的结果
我可以访问网络目录中的软件。我可以运行客户端PC上的.exe
软件文件。我可以在客户端 PC 上访问 Microsoft SQL Server Management Studio 中的 SQL 服务器。
暂时做不到
到目前为止我唯一不能做的是我在客户端PC上的软件无法访问数据库。显示错误
Login failed for user
连接字符串
我认为应该是连接字符串错误。我尝试了三种不同的连接字符串,让我在这里写下:
Data Source=.\SQLEXPRESS;Database=dbposrpc;trusted_connection=true;
Data Source=.\SQLEXPRESS;Initial Catalog=dbposrpc;User ID=sa;Password=12345678;
Data Source=tcp:DESKTOP-0DCQGE3,49172;Initial Catalog=dbposrpc;User ID=sa;Password=12345678;
SQLEXPRESS
是SQL服务器实例名,DESKTOP-0DCQGE3
是服务器PC名,49172
是我选择的TCP端口。
要从远程 PC(客户端的 PC)访问软件,您需要在 Windows Defender Firewall with Advanced Security
中添加 inbound rules
用于托管软件的此端口,然后您还需要从您的端口转发该端口服务器电脑。
问题已解决!我遵循的所有步骤都是完美的。你可以这样说,如果你想使用以太网连接来连接到客户端的 PC。逐步按照相关步骤操作。关注连接字符串。使用数字3的连接字符串。让我再写一次以澄清。
Data Source=tcp:DESKTOP-0DCQGE3,49172;Initial Catalog=dbposrpc;User ID=sa;Password=12345678;
这里SQLEXPRESS
是SQL服务器实例名,DESKTOP-0DCQGE3
是服务器PC名,49172
是我选择静态的TCP端口
我是如何解决这个问题的?
我刚刚清除了解决方案,再次重新启动项目,一切正常。