![](/img/trans.png)
[英]Can we use the Select query to get the vertex data using JDBC Driver in Java
[英]Can't get data from a SQL Server with my select query (using jdbc driver)
我正在尝试连接到使用sql身份验证的SQL Server 2008 R2实例。 没有引发异常(我正在捕获SqlException),我的代码如下:
SQLServerDataSource ds = new SQLServerDataSource();
ds.setUser(dbUserID);
ds.setPassword(Password);
ds.setServerName(DBServer);
ds.setPortNumber(1433);
ds.setDatabaseName(dbName);
con = (SQLServerConnection) ds.getConnection();
Statement statement = con.createStatement();
resultSet = statement.executeQuery(SQL);
所有参数(用户名,密码等)均为100%正确。 数据库正在运行等。查询是从存在的表中简单选择*。 使用完后没有空对象,没有设置连接对象,但是结果集有0行。
有什么想法我做错了吗? 我正在使用Microsoft SQL Server JDBC Driver 3.0 。
谢谢
在这里做一些假设:
您正在使用SQL Auth,并且可以从命令行甚至是SQL Management Studio使用dbuserid和password参数进行连接。
您可以在1433上telnet到服务器,即确保没有防火墙或端口转发问题。 使用telnet 123.123.123.1231433。您应该立即建立连接。 如果不是,则需要修复该问题。
我拿了您的代码,然后使用JDBC 3在我的SQL 2008数据库之一中运行了该代码(请使用快速而肮脏的代码)。
import com.microsoft.sqlserver.jdbc.SQLServerConnection;
import com.microsoft.sqlserver.jdbc.SQLServerDataSource;
import java.sql.ResultSet;
import java.sql.Statement;
public class testdelete
{
private static void displayRow(String title, ResultSet rs) {
try {
System.out.println(title);
System.out.println("Sales ID - Pkts Sold");
while (rs.next()) {
System.out.println(rs.getString("SALES_ID") + " : " + rs.getString("Pkts"));
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args)
{
System.out.println("testing...");
String dbUserID = "sa";
String Password = "MYPWD";
String DBServer = "123.123.123.123";
String dbName = "MYDB";
SQLServerConnection con;
ResultSet rs;
String SQL = "select top 10 * from Sales";
SQLServerDataSource ds = new SQLServerDataSource();
ds.setUser(dbUserID);
ds.setPassword(Password);
ds.setServerName(DBServer);
ds.setPortNumber(1433);
ds.setDatabaseName(dbName);
try
{
con = (SQLServerConnection) ds.getConnection();
Statement statement = con.createStatement();
rs = statement.executeQuery(SQL);
displayRow("SALES", rs);
} catch (Exception e)
{
e.printStackTrace();
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.