2017-11-17 5 views
3

SQL Serverを使用してデータベースに接続しています。しかし、接続しようとするとこのエラーが発生します。ログインSQLサーバーデータベースを開くことができません

Cannot open database "FBMain" requested by the login. The login failed. 

によって

ConnectionConfig connectionConfig = new ConnectionConfig(); 
Connection con = connectionConfig.CONN(); 

エラーが生じたデータベースを接続するための

コードは、ここで私は、ユーザーsaのためのユーザー・マッピングをチェックして、コード

public class ConnectionConfig { 
    private String ip = "192.168.56.1"; 
    private String classs = "net.sourceforge.jtds.jdbc.Driver"; 
    private String db = "FBMain"; 
    private String un = "sa"; 
    private String password = "Password123"; 

    @SuppressLint("NewApi") 
    public Connection CONN() { 
     StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); 
     StrictMode.setThreadPolicy(policy); 
     Connection conn = null; 
     String ConnURL; 
     try { 
      Class.forName(classs); 
      ConnURL = "jdbc:jtds:sqlserver://" + ip + ";" 
       + "databaseName=" + db + ";user=" + un + ";password=" 
       + password + ";"; 
      conn = DriverManager.getConnection(ConnURL); 
     } catch (Exception e) { 
      Log.e("ERROR", e.getMessage()); 
     } 
     return conn; 
    } 
} 

です。 FBMainのデータベースロールメンバーシップは、db_ownerおよびpublicに設定されています。しかし、私はまったく接続できません。

+0

データベースFBMainはオンラインですか? – sepupic

+0

どういう意味ですか?私はインターネットを使用せず、私はユーザー名saでSQL Serverアプリケーションを開くだけです。 – david

+0

sys.databasesから を選択した結果、 のname = 'FBMain'の結果はどうなりますか? – sepupic

答えて

2

192.168.56.1defaultにはSQL Serverが2つあり、名前は(SQL)です。

FBMainデータベースが存在しないデフォルトインスタンスに接続しようとしました。 このデータベースは、指定されたistance上に存在します。 named instanceに接続文字列を接続するには

(つまり、SQL Server error logまたはConfiguration Managerで見つけることができます)portを指定する必要があり、あるいはそれはこのようにinstance nameを指定することができます:192.168.56.1\SQLまたはANIME-PC\SQLSQL Server Browserが第二の場合に実行さshuold。

+0

グーグルで動作します。私はポートを追加し、自分のアプリケーションをテストするためにgenymotionを使うので、10.0.3.2に私のipを変更します。 – david

関連する問題