SQL 连接失败(超时),但在经典 VB6 中工作



我正在将 VB6 应用程序转换为 .NET

VB6应用程序连接到MS SQL Server,并且始终通过ADODB连接。我使用连接字符串设置它。

SQL Server 位于网络上,而不在本地计算机上。

当我尝试在 .NET(VB 或 C#)中使用相同的连接字符串进行连接时,出现"超时过期"错误。我返回我的 VB6 应用程序,它连接得很好。

我无法修改网络设置,因为它不是我的网络。我正在使用的 C# 代码如下:

using System;
using System.Data;
using System.Data.SqlClient;
namespace CommandLineApp
{
  public class ConnectionDemo
  {
    public static void Main(string [] args)
    {
    SqlConnection myConnection = new SqlConnection
      (
        @"Data Source=192.168.0.5;" + 
        "Initial Catalog=mydb;" +
        "User Id=myid;" +
        "Password=mypass;"
      );
    try
    {
        myConnection.Open();
    }
    catch(Exception e)
    {
        Console.WriteLine(e.ToString());
    }
     }
  }
}

我已经在连接字符串中尝试了各种不同的东西,包括使用服务器名称,使用"tcp:,port"。

有趣的是,我无法在IPv6上ping服务器("ping -6")

提醒您,我无法对网络进行更改,因为它不是我的,但是 VB6 代码工作正常。相同的连接字符串。所以我不明白为什么我必须改变网络。

提前谢谢。

尝试

OleDbConnection myConnection = new OleDbConnection("Provider=SQLOLEDB; " +
"Data Source=192.168.0.5; " + 
"Initial Catalog=mydb; " +
"User Id=myid; " +
"Password=mypass; ");

最新更新