2017-06-21 229 views
-1

尝试连接到数据库时,我不断收到一个问题。数据库应该允许远程连接,但由于某种原因,它不允许连接。连接到数据库错误的C#

using MetroFramework; 
using MetroFramework.Forms; 
using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 
using System.Data.SqlClient; 

namespace ###WEBSITE### 
{ 
public partial class Form1 : MetroForm 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 

    } 

    private void metroButton1_Click(object sender, EventArgs e) 
    { 
     SqlConnection con = new SqlConnection("Data Source=###WEBSITE###.com:3306;Initial Catalog=neoncheats_mybb;Integrated Security=True"); 
     con.Open(); 
     SqlCommand cmd = new SqlCommand("select * from mybb_users where username = '" + Username.Text + "' and password = '" + Password.Text + "'", con); 
     SqlDataReader dr; 
     dr = cmd.ExecuteReader(); 
     int count = 0; 
     while (dr.Read()) 
     { 
      count += 1; 
     } 

     if (count == 1) 
     { 
      MessageBox.Show("OK"); 
      Form1 f1 = new Form1(); 
      f1.Close(); 
      Form2 f2 = new Form2(); 
      f2.Show(); 
     } 
     else if (count > 0) 
     { 
      MessageBox.Show("Duplicate username and password"); 
     } 
     else 
     { 
      MessageBox.Show("Username or Password incorrect"); 
     } 

     Password.Clear(); // Clears the password field 
    } 

    private void metroButton2_Click(object sender, EventArgs e) 
    { 
     this.Close(); 
    } 

    private void metroLink1_Click(object sender, EventArgs e) 
    { 
     System.Diagnostics.Process.Start("http://###WEBSITE###.com/Forum/member.php?action=lostpw"); 
    } 
} 
} 

注: 的###网站###实际上并不存在,我删除了网站的名称。 这个错误来自线31(con.Open();) 我一直在使用一个本地数据库修整,并与“本地主机”作为域名

我知道我的连接方法并不完全理想得到了同样的错误以及。我真的需要帮助,因为我很难过,任何帮助表示赞赏!

+1

你得到什么错误? –

+0

您正尝试将此用作您的数据源“### WEBSITE ###。com”?实际上,数据源看起来像一个IP。什么错误具体返回? –

+0

我正在使用带有端口的Web主机将数据导向3306(SQL端口)。这是我的错误:https://gyazo.com/ca59ca1f4a423a1ae6db61ef09d48666我试图连接到直接的IP,我仍然得到相同的错误 – Thaisen

回答

0

我认为你必须添加的用户ID和密码..

here连接字符串

+0

我尝试使用用户名和密码,但不幸的是我得到了同样的错误 – Thaisen

+0

集成安全标志被设置,只要帐户存在服务器端并有权访问,他应该没事。 –

0

而不是使用你-数据源的:3306;,试用数据Your-Datasource,3306;

+0

我试过了,可悲的是它没有奏效 – Thaisen

0

首先,请务必始终使用“使用”的语句像下面当对象支持IDisposable接口:

using (SqlConnection Conn = new SqlConnection(...)) 
{ 
    Conn.Open(); 
} 

这将确保所有,而在该块是您所创建的对象妥善处置(包括你的连接,你的数据库管理员会找到你)。

其次,确保将“数据源”设置为“服务器”,而将“初始目录”设置为数据库。

“Server = myServerAddress; Database = myDataBase; User Id = myUsername; Password = myPassword;”

参见:https://www.connectionstrings.com/sql-server/

希望这应该可以帮助您连接。