I've just downloaded v0.45, it seems to be having trouble running queries against my MS SQL Servers.
I've tried existing connections and attempted (and failed) to create a new one and all return the same error:
No method in multimethod 'connection-details->spec' for dispatch value: :sqlserver
Metebase details:
{
"browser-info": {
"language": "en-NZ",
"platform": "Win32",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",
"vendor": "Google Inc."
},
"system-info": {
"file.encoding": "Cp1252",
"java.runtime.name": "OpenJDK Runtime Environment",
"java.runtime.version": "17.0.2+8",
"java.vendor": "Eclipse Adoptium",
"java.vendor.url": "https://adoptium.net/",
"java.version": "17.0.2",
"java.vm.name": "OpenJDK 64-Bit Server VM",
"java.vm.version": "17.0.2+8",
"os.name": "Windows 10",
"os.version": "10.0",
"user.language": "en",
"user.timezone": "Pacific/Auckland"
},
"metabase-info": {
"databases": [
"sqlserver",
"h2"
],
"hosting-env": "unknown",
"application-database": "postgres",
"application-database-details": {
"database": {
"name": "PostgreSQL",
"version": "12.1"
},
"jdbc-driver": {
"name": "PostgreSQL JDBC Driver",
"version": "42.5.0"
}
},
"run-mode": "prod",
"version": {
"date": "2022-12-03",
"tag": "v0.45.0",
"branch": "release-x.45.x",
"hash": "4e41d76"
},
"settings": {
"report-timezone": "NZ"
}
}
}
Errors look like this, this is for a SQL question but it's similar no matter how the query is started:
[671e9117-ca39-435f-ac1e-29af9a1b4f06] 2022-12-06T11:03:29+13:00 ERROR metabase.query-processor.middleware.catch-exceptions Error processing query: No method in multimethod 'connection-details->spec' for dispatch value: :sqlserver
{:database_id 2,
:started_at #t "2022-12-06T11:03:29.330027800+13:00[Pacific/Auckland]",
:json_query
{:type "native",
:native {:query "select 1", :template-tags {}},
:database 2,
:parameters [],
:middleware {:js-int-to-string? true, :add-default-userland-constraints? true}},
:status :failed,
:class java.lang.IllegalArgumentException,
:stacktrace
["clojure.lang.MultiFn.getFn(MultiFn.java:156)"
"clojure.lang.MultiFn.invoke(MultiFn.java:233)"
"--> driver.sql_jdbc.connection$create_pool_BANG_.invokeStatic(connection.clj:138)"
"driver.sql_jdbc.connection$create_pool_BANG_.invoke(connection.clj:130)"
"driver.sql_jdbc.connection$db__GT_pooled_connection_spec.invokeStatic(connection.clj:259)"
"driver.sql_jdbc.connection$db__GT_pooled_connection_spec.invoke(connection.clj:205)"
"driver.sql_jdbc.execute$datasource.invokeStatic(execute.clj:136)"
"driver.sql_jdbc.execute$datasource.invoke(execute.clj:132)"
"driver.sql_jdbc.execute$datasource_with_diagnostic_info_BANG_.invokeStatic(execute.clj:143)"
"driver.sql_jdbc.execute$datasource_with_diagnostic_info_BANG_.invoke(execute.clj:138)"
"driver.sql_jdbc.execute$fn__55830.invokeStatic(execute.clj:191)"
"driver.sql_jdbc.execute$fn__55830.invoke(execute.clj:189)"
"driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:496)"
"driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:485)"
"driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:493)"
"driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:485)"
"driver.sql_jdbc$fn__88401.invokeStatic(sql_jdbc.clj:58)"
"driver.sql_jdbc$fn__88401.invoke(sql_jdbc.clj:56)"
"query_processor.context$executef.invokeStatic(context.clj:59)"
"query_processor.context$executef.invoke(context.clj:48)"
"query_processor.context.default$default_runf.invokeStatic(default.clj:67)"
"query_processor.context.default$default_runf.invoke(default.clj:65)"
"query_processor.context$runf.invokeStatic(context.clj:45)"
"query_processor.context$runf.invoke(context.clj:39)"
"query_processor.reducible$identity_qp.invokeStatic(reducible.clj:12)"
"query_processor.reducible$identity_qp.invoke(reducible.clj:9)"
"query_processor.middleware.cache$maybe_return_cached_results$maybe_return_cached_results_STAR___53538.invoke(cache.clj:220)"
"query_processor.middleware.permissions$check_query_permissions$fn__49193.invoke(permissions.clj:109)"
"query_processor.middleware.mbql_to_native$mbql__GT_native$fn__52483.invoke(mbql_to_native.clj:23)"
"query_processor$fn__55014$combined_post_process__55019$combined_post_process_STAR___55020.invoke(query_processor.clj:212)"
"query_processor$fn__55014$combined_pre_process__55015$combined_pre_process_STAR___55016.invoke(query_processor.clj:209)"
"query_processor.middleware.resolve_database_and_driver$resolve_database_and_driver$fn__53459$fn__53464.invoke(resolve_database_and_driver.clj:35)"
"driver$do_with_driver.invokeStatic(driver.clj:76)"
"driver$do_with_driver.invoke(driver.clj:72)"
"query_processor.middleware.resolve_database_and_driver$resolve_database_and_driver$fn__53459.invoke(resolve_database_and_driver.clj:34)"
"query_processor.middleware.fetch_source_query$resolve_card_id_source_tables$fn__49459.invoke(fetch_source_query.clj:314)"
"query_processor.middleware.store$initialize_store$fn__49649$fn__49650.invoke(store.clj:11)"
"query_processor.store$do_with_store.invokeStatic(store.clj:45)"
"query_processor.store$do_with_store.invoke(store.clj:39)"
"query_processor.middleware.store$initialize_store$fn__49649.invoke(store.clj:10)"
"query_processor.middleware.normalize_query$normalize$fn__53731.invoke(normalize_query.clj:22)"
"query_processor.middleware.constraints$add_default_userland_constraints$fn__50737.invoke(constraints.clj:53)"
"query_processor.middleware.process_userland_query$process_userland_query$fn__53670.invoke(process_userland_query.clj:145)"
"query_processor.middleware.catch_exceptions$catch_exceptions$fn__54042.invoke(catch_exceptions.clj:167)"
"query_processor.reducible$async_qp$qp_STAR___45504$thunk__45506.invoke(reducible.clj:100)"
"query_processor.reducible$async_qp$qp_STAR___45504.invoke(reducible.clj:106)"
"query_processor.reducible$async_qp$qp_STAR___45504.invoke(reducible.clj:91)"
"query_processor.reducible$sync_qp$qp_STAR___45515.doInvoke(reducible.clj:126)"
"query_processor$process_userland_query.invokeStatic(query_processor.clj:331)"
"query_processor$process_userland_query.doInvoke(query_processor.clj:327)"
"query_processor$fn__55061$process_query_and_save_execution_BANG___55070$fn__55073.invoke(query_processor.clj:342)"
"query_processor$fn__55061$process_query_and_save_execution_BANG___55070.invoke(query_processor.clj:335)"
"query_processor$fn__55105$process_query_and_save_with_max_results_constraints_BANG___55114$fn__55117.invoke(query_processor.clj:354)"
"query_processor$fn__55105$process_query_and_save_with_max_results_constraints_BANG___55114.invoke(query_processor.clj:347)"
"api.dataset$run_query_async$fn__70412.invoke(dataset.clj:69)"
"query_processor.streaming$streaming_response_STAR_$fn__40600$fn__40601.invoke(streaming.clj:162)"
"query_processor.streaming$streaming_response_STAR_$fn__40600.invoke(streaming.clj:161)"
"async.streaming_response$do_f_STAR_.invokeStatic(streaming_response.clj:65)"
"async.streaming_response$do_f_STAR_.invoke(streaming_response.clj:63)"
"async.streaming_response$do_f_async$task__20045.invoke(streaming_response.clj:84)"],
:card_id nil,
:context :ad-hoc,
:error "No method in multimethod 'connection-details->spec' for dispatch value: :sqlserver",
:row_count 0,
:running_time 0,
:data {:rows [], :cols []}}
Any ideas what's going on here?
Edited to add:
Sample DB queries work fine and I've also added a PostgeSQL db and it's working as expected.