Sql server java.sql.SQLException:找不到适合jdbc weka.experience.DatabaseUtils.connectToDatabase(DatabaseUtils.java:563)的驱动程序

Sql server java.sql.SQLException:找不到适合jdbc weka.experience.DatabaseUtils.connectToDatabase(DatabaseUtils.java:563)的驱动程序,sql-server,jdbc,weka,Sql Server,Jdbc,Weka,我试图通过Weka实验检索实例查询将Weka连接到MS SQL DB,并得到以下错误 这里需要注意的一点是,我没有为MS SQL DB实例分配任何默认端口,下面是我的Databaseutil.props文件内容 # database URL jdbcURL=jdbc:sqlserver://MSSQL\SQLEXPRESS;databaseName=MovieDatabase # specific data types string, getString() = 0; boolean,

我试图通过Weka实验检索实例查询将Weka连接到MS SQL DB,并得到以下错误

这里需要注意的一点是,我没有为MS SQL DB实例分配任何默认端口,下面是我的Databaseutil.props文件内容

# database URL
jdbcURL=jdbc:sqlserver://MSSQL\SQLEXPRESS;databaseName=MovieDatabase
# specific data types
string, getString() = 0;    
boolean, getBoolean() = 1;
double, getDouble() = 2;  
byte, getByte() = 3;      
short, getByte()= 4;      
int, getInteger() = 5;    
long, getLong() = 6;      
float, getFloat() = 7;    
date, getDate() = 8;      
text, getString() = 9;    
time, getTime() = 10;     
timestamp, getTime() = 11;

# map SQL Server data type to WEKA data type
# default mappings
varchar=0
float=2
tinyint=3
int=5
# values added manually
string=0
bigint=6
nvarchar=9
decimal=2
bit=1
错误:

sql.SQLException:找不到适合jdbc的驱动程序:sqlserver://MSSQL\sqlexpress:1433;认证=未指定;authenticationScheme=nativeAuthentication;xopenStates=false;sendTimeAsDatetime=true;trustServerCertificate=false;TransparentNetworkIPResolution=真;serverNameAsACE=false;sendStringParametersAsUnicode=true;选择方法=直接;响应缓冲=自适应;包装尺寸=8000;multiSubnetFailover=false;loginTimeout=15;锁定超时=-1;lastUpdateCount=true;加密=假;disableStatementPooling=true;databaseName=MovieDatabase;columnEncryptionSetting=禁用;applicationName=用于SQL Server的Microsoft JDBC驱动程序;applicationcontent=readwrite
weka.experience.DatabaseUtils.connectToDatabase(DatabaseUtils.java:563)
weka.experience.InstanceQuery.retrieveInstances(InstanceQuery.java:658)


尝试将jdbcDriver属性添加到DatabaseUtils.props文件:

jdbcDriver=com.microsoft.sqlserver.jdbc.SQLServerDriver

尝试将jdbcDriver属性添加到DatabaseUtils.props文件:

jdbcDriver=com.microsoft.sqlserver.jdbc.SQLServerDriver

我在我的环境中也遇到了同样的问题。从依赖项中删除作用域后(最初我将其放入测试),它就可以工作了。

我在我的环境中也遇到了同样的问题。从依赖项中删除作用域后(最初我将其放入测试),它就可以工作。

在类路径中是否有适合MS SQL Server的驱动程序?我不知道Weka是如何启动的,但我认为您需要一些JDBC驱动程序jar出现在运行时类路径中,这样才能工作。有点像是的,我已经将微软的sqljdbc42.jar添加到了类路径中。我看到端口号1433被追加,这不是我的连接所必需的,有什么想法吗?您可能需要加载驱动程序类,以便它向驱动程序管理器注册。是否可以向应用程序添加一些代码(在尝试加载JDBC驱动程序之前尽快):Class.forName(“com.microsoft.sqlserver.JDBC.SQLServerDriver”);好。。。经过再三考虑。根据这个()应该将jdbcDriver属性添加到配置文件中。因此,请尝试将jdbcDriver=com.microsoft.sqlserver.jdbc.SQLServerDriver添加到Databaseutil.props文件中。此外。。。根据以上文档,您的props文件应命名为DatabaseUtils.props在类路径中是否有适合MS SQL Server的驱动程序?我不知道Weka是如何启动的,但我认为您需要一些JDBC驱动程序jar出现在运行时类路径中,这样才能工作。有点像是的,我已经将微软的sqljdbc42.jar添加到了类路径中。我看到端口号1433被追加,这不是我的连接所必需的,有什么想法吗?您可能需要加载驱动程序类,以便它向驱动程序管理器注册。是否可以向应用程序添加一些代码(在尝试加载JDBC驱动程序之前尽快):Class.forName(“com.microsoft.sqlserver.JDBC.SQLServerDriver”);好。。。经过再三考虑。根据这个()应该将jdbcDriver属性添加到配置文件中。因此,请尝试将jdbcDriver=com.microsoft.sqlserver.jdbc.SQLServerDriver添加到Databaseutil.props文件中。此外。。。根据上面的文档,您的props文件应命名为DatabaseUtils.props