SocketException:没有这样的主机

时间:2011-02-11 14:32:08

标签: .net mysql vb.net exception-handling

我想从我的asp页面连接到mysql数据库。所以根据我的托管服务提供商告诉我使用连接字符串,其中服务器被指定为“localhost:3309”

Dim myConnection As MySqlConnection = New MySqlConnection("server=localhost:3309; user id=TID; password=TPWD; database=TDB; pooling=false;")

Dim strSQL As String = "SELECT * from Device_Data"

Dim myDataAdapter As MySqlDataAdapter = New MySqlDataAdapter(strSQL, myConnection)
Dim myDataSet As DataSet = New DataSet()
myDataAdapter.Fill(myDataSet, "Device_Data")

MySQLDataGrid.DataSource = myDataSet
MySQLDataGrid.DataBind()

但是当我运行此页面时出现此错误

[SocketException (0x2af9): No such host is known]
System.Net.Dns.GetAddrInfo(String name) +6134386
System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6) +136
System.Net.Dns.GetHostEntry(String hostNameOrAddress) +109
MySql.Data.Common.StreamCreator.GetDnsHostEntry(String hostname) +123

[Exception: Call to GetHostEntry failed after 00:00:02.2499197 while querying for hostname 'localhost:3309': SocketErrorCode=HostNotFound, ErrorCode=11001, NativeErrorCode=11001.]
MySql.Data.Common.StreamCreator.GetDnsHostEntry(String hostname) +405
MySql.Data.Common.StreamCreator.GetStream(UInt32 timeout) +457
MySql.Data.MySqlClient.NativeDriver.Open() +215

[MySqlException (0x80004005): Unable to connect to any of the specified MySQL hosts.]
MySql.Data.MySqlClient.NativeDriver.Open() +283
MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings) +51
MySql.Data.MySqlClient.MySqlConnection.Open() +362
System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +123
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +319
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +92
show.form1_Load(Object sender, EventArgs e) in 
System.Web.UI.Control.OnLoad(EventArgs e) +91
System.Web.UI.Control.LoadRecursive() +74
System.Web.UI.Control.LoadRecursive() +146
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207

这是服务器问题吗?如果是,那么他们应该怎么做才能解决这个问题呢?当与服务器人员联系时,他们说这是我的编码问题..他们是对的吗?

2 个答案:

答案 0 :(得分:11)

MySQL ADO.NET Connector的

The correct connection string

Server=localhost;Port=3309;Database=Test;Uid=username;Pwd=password;

答案 1 :(得分:1)

尝试server=localhost; port=3309