我的家庭网络上有两台计算机,其中一台(ELSA)保留了sql数据库。另一个(NEXIS)有VS2010。每当我在家里和外面时,我都需要通过NEXIS访问数据库。现在我的ISP上有静态IP号码。 ELSA在我的路由器上也有静态IP(192.168.1.XX)。我设置了SQL Server网络配置>> SQLEXPRESS的协议>> TCP / IP状态“已启用”和IP设置以启用远程连接。我在Windows防火墙上打开了TCP端口1433,并将我路由器上的TCP端口转发到ELSA的IP地址。我还检查了TCP端口是否通过Simple Port Tester打开并且状态正常。我还启用了命名管道。 SQLEXPRESS身份验证Methot是Windows身份验证。现在我有两个问题:
1-
SqlConnection scnn;
SqlConnectionStringBuilder cns;
SqlCommand cmd;
SqlDataAdapter dap;
DataSet das;
private void Form1_Load(object sender, EventArgs e)
{
try
{
cns = new SqlConnectionStringBuilder();
cns.DataSource = "192.168.1.XX,1433";
cns.InitialCatalog = "TempDB1";
cns.IntegratedSecurity = true;
cns.PersistSecurityInfo = false;
scnn = new SqlConnection(cns.ConnectionString);
cmd = new SqlCommand("select * from ID_Table", scnn);
dap = new SqlDataAdapter(cmd);
das = new DataSet();
dap.Fill(das, "ID_TableDS");
dataGridView1.DataSource = das.Tables["ID_TableDS"];
}
catch (Exception ex)
{
MessageBox.Show("Hata");
MessageBox.Show(ex.Message);
}
}
这是我在NEXIS上的代码,但是我遇到了错误。有什么问题?
2-如果我想在外面访问ELSA,我的连接字符串应该是什么?
谢谢。