我正在将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代码工作得很好。相同的连接字符串所以我不明白我为什么要改变网络。
提前致谢。
答案 0 :(得分:1)
尝试
OleDbConnection myConnection = new OleDbConnection("Provider=SQLOLEDB; " +
"Data Source=192.168.0.5; " +
"Initial Catalog=mydb; " +
"User Id=myid; " +
"Password=mypass; ");