2017-10-01 16 views
0

私は、これは私のコードでのSQL Server 2012を使用して、私のデータベースにVisual Studioでの私のプロジェクトを接続しようとしています:の接続SQL Server 2012のデータベース2012

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Data; 
using System.Text; 
using System.Windows.Forms; 
using System.Data.SqlClient; 

namespace CollegeManagementSystem.lib 
{ 
public class DatabaseConnection 
{ 
    public static SqlConnection Con; 

    public static SqlConnection GlobalConnection() 
    { 
     string ConString = @"Data Source=DESKTOP-JTVC4I1\\SQLEXPRESS;" + Global.ServerName + ";Initial Catalog=College" + Global.Database + ";Integrated Security=True;User Id=sa" + Global.SUserId + ";Password=123" + Global.SPassword + ";Connection Timeout=1000"; 
     Con = new SqlConnection(); 
     Con.ConnectionString = ConString; 
     if (Con.State == ConnectionState.Open) 
     { 
      Con.Close(); 
     } 
     Con.Open(); 
     return Con; 
    } 

私のデータベースの名前が大学です。 db、私も混乱している私は私のデータベースcollege.dbで作成したが、私はそれを作成していない同じテーブルを持つmaster.dbと呼ばれるサーバーにデータベースがあります。

と、私はエラーを取得: は、SQL Serverへの接続を確立するとき

Aネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからなかったか、 にアクセスできませんでした。インスタンス名が正しいこと、および SQL Serverがリモート接続を許可するように構成されていることを確認します。

私はSQL Serverをローカルで実行しています。どうすればこの問題を解決できますか?

+0

「Global.ServerName」の値は何ですか? – Mostafiz

+0

パブリック静的文字列ServerName = "DESKTOP-JTVC4I1 \\ SQLEXPRESS"; –

+1

ブレークポイントを設定し、ConnStringの値が何であるかを確認します。私はあなたが問題が何であるかを見るだろうと思う。 –

答えて

1

接続文字列のIntegrated Security=True。つまり、指定したUser IdおよびPasswordの属性は無視され、現在のログWindows IDが使用されます。

は偽、ユーザーIDとパスワードは、接続で指定されている場合

詳細はMSDN SqlConnection.ConnectionString Property

で発見することができますIntegrated Security=False

に接続文字列を変更してみてください。 trueの場合、現在のWindowsアカウントの資格情報が認証に使用されます。 認識される値はtrue、false、yes、no、およびsspi(強く推奨)です。これはtrueと等価です。 ユーザーIDとパスワードが指定され、統合セキュリティーがtrueに設定されている場合、ユーザーIDとパスワードは無視され、統合セキュリティーが使用されます。

0

以下のように接続文字列を変更します。 Global.ServerNameには既にサーバー名がありますが、コードには重複しているためです。また、私はGlobal.Database,Global.SUserId,Global.SPasswordが重複していると思います。

string ConString = @"Data Source=" + Global.ServerName + 
     ";Initial Catalog=" + Global.Database + 
     ";Integrated Security=False;User Id=" + Global.SUserId + 
     ";Password=" + Global.SPassword + ";Connection Timeout=1000"; 
+0

データベースが機能しました。ログインしようとすると、ユーザ名とパスワードが間違っているというプロンプトが表示され、ユーザ名とパスワードの両方がadminと呼ばれます。 –

+0

私の更新された回答を試しましたか?実際のユーザー名パスワードは何ですか? 'Global.SUserId'と' Global.SPassword'の値は何ですか?どちらも同じでしたか? – Mostafiz

+0

はい私はあなたのソリューション、Global.SUserIdとグローバルの価値を試しました。SPasswordもadmin –

0

あなたはこれを試みることができる:

string ConString = "Server=DESKTOP-JTVC4I1\\SQLEXPRESS;Database=College;User Id=sa;Password=123;" 

はまた、あなたのデータベース名が正しいことを確認してください。説明では、あなたのデータベース名は "カレッジ"だが、接続文字列では "カレッジ"を使用していると言った。

関連する問題