我正在使用SQL Server连接到数据库。但是,当我尝试连接时,我收到此错误。
连接数据库的代码
ConnectionConfig connectionConfig = new ConnectionConfig();
Connection con = connectionConfig.CONN();
Log
产生错误Cannot open database "FBMain" requested by the login. The login failed.
这是代码
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;
}
}
我检查了用户sa的用户映射。 FBMain的数据库角色成员身份设置为db_owner和public。但是,我根本无法连接。
答案 0 :(得分:2)
在192.168.56.1
,default
和命名(SQL
)上有两个SQL Server实例。
该应用尝试连接到没有FBMain
数据库的默认实例。
该数据库存在于命名的istance上。
要连接到named instance
连接字符串,请指定port
(可以在SQL Server error log
或Configuration Manager
中找到),也可以指定{{ 1}}像这样:instance name
或192.168.56.1\SQL
和ANIME-PC\SQL
shuold在第二种情况下运行。