[英]Connecting to mysql on 000webhost using C#
我只是試圖在控制台上讀取batabase中的內容,但是我總是在conn.Open()行上遇到異常。 這是所有代碼:
SqlConnectionStringBuilder conn_string = new SqlConnectionStringBuilder();
conn_string.DataSource = "mysql14.000webhost.com"; // Server
conn_string.UserID = "a7709578_codecal";
conn_string.Password = "xxxxx";
conn_string.InitialCatalog = "a7709578_codecal"; // Database name
SqlConnection conn = new SqlConnection(conn_string.ToString());
conn.Open();
SqlCommand cmd = new SqlCommand("Select name FROM Users");
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
Console.WriteLine("{1}, {0}", reader.GetString(0), reader.GetString(1));
}
reader.Close();
conn.Close();
if (Debugger.IsAttached)
{
Console.ReadLine();
}
您需要手動構建連接字符串或使用MySqlConnectionStringBuilder
。 MySql使用與您使用的SQL Server和SqlConnectionStringBuilder
不同的格式。 您還需要使用MySQL庫, SqlConnection
, SqlCommand
等都是專門為SQL Server構建的。
對於MySQL
數據庫,您使用的是錯誤的提供程序。 您在已發布代碼中使用的那些類適用於SQL Server
。 您的代碼應如下所示,其中包含MySQL
提供程序相關的類
MySqlConnectionStringBuilder conn_string = new MySqlConnectionStringBuilder();
conn_string.Server = "mysql14.000webhost.com";
conn_string.UserID = "a7709578_codecal";
conn_string.Password = "xxxxxxx";
conn_string.Database = "a7709578_codecal";
using (MySqlConnection conn = new MySqlConnection(conn_string.ToString()))
還需要指出的是,您只能從表中選擇一列,可以看出
new SqlCommand("Select name FROM Users");
而嘗試檢索兩列值,這是不正確的
Console.WriteLine("{1}, {0}", reader.GetString(0), reader.GetString(1))
000webhost空閑服務器不允許外部連接到服務器數據庫。
您只能從存儲在服務器上的PHP腳本中使用數據庫。
您可以使用PHP從數據庫中獲取數據,並且它將返回。因此,我建議您使用C#這樣的api(如api)使用php。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.