找不到适合 jdbc:sqlserver:ex;databaseName=Cities_names 的驱动程序
Posted
技术标签:
【中文标题】找不到适合 jdbc:sqlserver:ex;databaseName=Cities_names 的驱动程序【英文标题】:No suitable driver found for jdbc:sqlserver:ex;databaseName=Cities_names 【发布时间】:2022-01-19 20:14:42 【问题描述】:我正在尝试连接数据库并在 NetBeans 中使用组合框显示我将其作为输出:
严重:无效 java.sql.SQLException: 找不到适合 jdbc:sqlserver:DESKTOP-4N1HNP8 的驱动程序;databaseName=Cities_names 在 java.sql.DriverManager.getConnection(DriverManager.java:689) 在 java.sql.DriverManager.getConnection(DriverManager.java:247) 在 com.mycompany.acam.Panel1.Fillcombo(Panel1.java:31) 在 com.mycompany.acam.Panel1.(Panel1.java:27)
线程“主”java.lang.NullPointerException 中的异常
在 com.mycompany.acam.Panel1.Fillcombo(Panel1.java:46) //con.close(); at com.mycompany.acam.Panel1.(Panel1.java:27) //Fillcombo();
缺少 mssql:mssql-jdbc:jar:9.4.1 的 POM,没有可用的依赖信息
这里是我连接到数据库和填充组合框的地方:
public class Panel1 extends javax.swing.JFrame
static Connection con;
static ResultSet rs;
static PreparedStatement pst;
static Statement st;
public Panel1()
initComponents();
this.setLocationRelativeTo(null);
Fillcombo();
public void Fillcombo()
try
con = DriverManager.getConnection("jdbc:sqlserver:DESKTOP-4N1HNP8;databaseName=Cities_names", "Stefan", "stefan");
String Query = "SELECT * FROM Cities_names";
st = con.createStatement();
pst = con.prepareStatement(Query);
rs = st.executeQuery(Query);
while (rs.next())
Combo_box.addItem(rs.getString("City"));
Combo_box.setSelectedItem(null);
catch(SQLException ex)
Logger.getLogger(Panel1.class.getName()).log(Level.SEVERE,null,ex);
finally
try
con.close();
pst.close();
rs.close();
catch(SQLException ex)
Logger.getLogger(Panel1.class.getName()).log(Level.SEVERE,null,ex);
来自 pom.xml -maven 的依赖:
<dependencies>
<dependency>
<groupId>mssql</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>9.4.1</version>
</dependency>
</dependencies>
我从依赖节点添加了依赖。我手动安装了 jar 文件。
【问题讨论】:
更新:我改变 :con=DriverManager.getConnection("jdbc:sqlserver:DESKTOP-4N1HNP8;databaseName=Cities_names", "Stefan", "stefan");进入: con=DriverManager.getConnection("jdbc:sqlserver://DESKTOP-4N1HNP8;databaseName=Cities_names", "Stefan", "stefan");现在我收到这个:com.microsoft.sqlserver.jdbc.SQLServerException: 'Cities_names' 附近的语法不正确。 【参考方案1】:我变了:
String Query = "SELECT * FROM Cities_names";
到:
String Query = "SELECT TOP (1000) [City] FROM [Cities_names].[dbo]. [Cities]";
它正在工作
【讨论】:
以上是关于找不到适合 jdbc:sqlserver:ex;databaseName=Cities_names 的驱动程序的主要内容,如果未能解决你的问题,请参考以下文章
这是啥错误? “无法添加数据连接。找不到任何适合指定文化或中性文化的资源。”
找不到适合'jdbc:mysql:// localhost:3306 / mysql的驱动程序[重复]