selenium-webdriver - 无法将 SQL 服务器连接到 Selenium Webdriver
问题描述
我已执行以下步骤: 1- 控制面板 > 管理工具 > 单击 ODBC
2- 转到用户 DSN 并单击添加按钮
3-选择相应的数据库(SQL Server Native Client)
4-给DSN命名并保存
通过 pom.xml 将以下 JDBC 驱动程序添加到我的项目中:
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>6.5.2.jre9-preview</version>
<scope>test</scope>
</dependency>
然后我从 eclipse 中执行了下面的一段简单代码:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
连接连接 = DriverManager.getConnection("wsyddbd10678,1433","用户名", "密码");
语句 st = conn.createStatement();
String Sql ="select * from miris.dimset where setsk between 5499 and 5510";
结果集 rs = st.executeQuery(Sql);
while (rs.next())
{ System.out.println(rs.getString("setsk"));
}
但它给了我一个错误说:
Exception in thread "main" java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver.
请建议..
解决方案
要获得与数据库的连接,您首先需要设置一些依赖项,具体取决于您连接的对象(哪个数据库)。
对于 MSSQL:
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>6.1.0.jre8</version>
</dependency>
您可以通过以下几种方式连接到 DB:
最简单(直接连接)
private WebDriver driver;
private Connection con = null;
private Statement stmt = null;
String dataBaseName = "testDB";
String dbDriver = "jdbc:sqlserver://localhost:3306/";
String user = "user";
String pass = "pass";
String Query;
ResultSet res;
public void DBConnection() throws Exception {
try {
Class.forName(
"com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con = DriverManager.getConnection(
dbDriver + dataBaseName, user, pass);
stmt = con.createStatement();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
@Test
public void testDB() throws Exception {
try {
Query = "Select * from table";
res = stmt.executeQuery(Query);
driver = new FirefoxDriver(); //or whatever driver
driver.get("//some URL //");
while (res.next()) //move to the next row in result set,
//... do your stuff //
}
} catch(Exception e)
{
System.out.println(e.getMessage());
}
或您的示例(已更新);
连接语法(MS-SQL 服务器):
[URL] = jdbc:sqlserver://[ipAddress]:portNumber/dbName
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con = DriverManager.getConnection([URL], userName, password);
或试试这个:
Class.forName("net.sourceforge.jtds.jdbc.Driver");
Connection con = DriverManager.getConnection([URL],userName, password);
然后是其余的代码:
Statement st = conn.createStatement();
String Sql = "query";
ResultSet rs = st.executeQuery(Sql);
while (rs.next())
{
System.out.println(rs.getString("setsk"));
}
(或者我认为最好的)休眠
设置它的工作量很小,但是当它启动并运行时,它的工作方式真的很令人满意。这是关于它的教程:https ://www.javatpoint.com/steps-to-create-first-hibernate-application
希望这会有所帮助。
推荐阅读
- java - 项目刽子手游戏
- wordpress - 在 Wordpress 主题中添加缩略图支持
- java - 布局管理器可自由放置您的对象
- javascript - ag-grid-vue:如何检测行点击?
- ios - 滚动时表格视图批量更新
- c# - Xamarin 嵌套几个 CollectionViews
- javascript - 如何在不重新加载页面的情况下重置特定元素?
- jquery - 从列表中的某个点查找先前 X 数量的兄弟姐妹(jquery)
- android-studio - AndroidStudio 4.1 源集问题
- ruby-on-rails - Gem::Specification (NameError) 中未定义方法“源”