我在用C#编程。我想从计算机A访问计算机B以插入或读取一些数据。
计算机A运行C#(WPF)程序,计算机B已安装SQL Server。
计算机A的IP地址为192.168.X.10,计算机B的IP地址为192.168.Y.10。如何从A访问计算机B上的SQL Server?
端口转发是解决方案吗?任何基于C#代码的解决方案(而不是路由器或计算机配置)都将是首选。
我注意到,可能是来自不同网络的另一台计算机想要访问SQL Server。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
要从C#程序访问另一台计算机上的SQL Server,您不需要进行端口转发,但确保两台计算机之间的网络连接是畅通的,并且SQL Server配置允许远程连接。以下是在C#中使用ADO.NET连接到远程SQL Server的基本步骤:
确保SQL Server配置正确:
编写C#代码连接SQL Server: 使用ADO.NET中的SqlConnection类来建立与SQL Server的连接。下面是一个简单的示例代码,展示如何连接并执行一个查询:
using System;
using System.Data.SqlClient;
class Program
{
static void Main()
{
string connectionString = "Server=192.168.Y.10,1433;Database=YourDatabaseName;User ID=YourUsername;Password=YourPassword;";
using (SqlConnection connection = new SqlConnection(connectionString))
{
try
{
connection.Open();
Console.WriteLine("Connected to SQL Server successfully!");
// 示例查询
string sqlQuery = "SELECT * FROM YourTableName";
SqlCommand command = new SqlCommand(sqlQuery, connection);
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(reader[0]); // 假设第一列有数据
}
reader.Close();
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
}
请将YourDatabaseName
、YourUsername
、YourPassword
以及YourTableName
替换为实际的数据库名、用户名、密码和表名。
Server=192.168.Y.10,1433;
。通过以上步骤,您的C#应用程序应该能够跨网络访问位于计算机B上的SQL Server了。如果遇到连接问题,检查网络配置、防火墙规则以及SQL Server的日志文件以获取更多错误信息。