Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access JULIA ODBC.query MethodError:没有与每个列匹配的方法_Ms Access_Odbc_Julia - Fatal编程技术网

Ms access JULIA ODBC.query MethodError:没有与每个列匹配的方法

Ms access JULIA ODBC.query MethodError:没有与每个列匹配的方法,ms-access,odbc,julia,Ms Access,Odbc,Julia,我一直在使用Julia获得一些图形结果,使用ODBC连接MS Access数据库以获取数据。 两周前,同样的函数工作得很完美,但现在它抛出了一个错误: ERROR: MethodError: no method matching eachcolumn(::Tables.CopiedColumns{NamedTuple{(:year, :Fact),Tuple{Array{Union{Missing, Int16},1},Array{Union{Missing, Float64},1}}}})

我一直在使用Julia获得一些图形结果,使用ODBC连接MS Access数据库以获取数据。 两周前,同样的函数工作得很完美,但现在它抛出了一个错误:

ERROR: MethodError: no method matching eachcolumn(::Tables.CopiedColumns{NamedTuple{(:year, :Fact),Tuple{Array{Union{Missing, Int16},1},Array{Union{Missing, Float64},1}}}})

Closest candidates are:
  eachcolumn(::Union{Function, Type}, ::Tables.Schema{names,nothing}, ::Any) where names at C:\Users\myuser\.julia\packages\Tables\TA7NF\src\utils.jl:109
  eachcolumn(::Union{Function, Type}, ::Tables.Schema{names,types}, ::Any) where {names, types} at C:\Users\myuser\.julia\packages\Tables\TA7NF\src\utils.jl:66

Stacktrace:

 [1] #fromcolumns#410(::Bool, ::typeof(DataFrames.fromcolumns), ::Tables.CopiedColumns{NamedTuple{(:anno, :Fact),Tuple{Array{Union{Missing, Int16},1},Array{Union{Missing, Float64},1}}}}) at C:\Users\myuser\.julia\packages\DataFrames\yH0f6\src\other\tables.jl:13

 [2] (::DataFrames.var"#kw##fromcolumns")(::NamedTuple{(:copycols,),Tuple{Bool}}, ::typeof(DataFrames.fromcolumns), ::Tables.CopiedColumns{NamedTuple{(:anno, :Fact),Tuple{Array{Union{Missing, Int16},1},Array{Union{Missing, 
Float64},1}}}}) at .\none:0

 [3] #DataFrame#412(::Bool, ::Type{DataFrame}, ::ODBC.Query{missing,NamedTuple{(:anno, :Fact),Tuple{Union{Missing, Int16},Union{Missing, Float64}}},Tuple{Array{Union{Missing, Int16},1},Array{Union{Missing, Float64},1}}}) at C:\Users\myuser\.julia\packages\DataFrames\yH0f6\src\other\tables.jl:32

 [4] DataFrame(::ODBC.Query{missing,NamedTuple{(:anno, :Fact),Tuple{Union{Missing, Int16},Union{Missing, Float64}}},Tuple{Array{Union{Missing, Int16},1},Array{Union{Missing, Float64},1}}}) at C:\Users\myuser\.julia\packages\DataFrames\yH0f6\src\other\tables.jl:23

 [5] #query#15(::Bool, ::Bool, ::Dict{Int64,Function}, ::typeof(ODBC.query), ::ODBC.DSN, ::String, ::Type{DataFrame}) at C:\Users\myuser\.julia\packages\ODBC\YEzHX\src\Query.jl:390

 [6] query(::ODBC.DSN, ::String, ::Type{DataFrame}) at C:\Users\myuser\.julia\packages\ODBC\YEzHX\src\Query.jl:385

 [7] query(::ODBC.DSN, ::String) at C:\Users\myuser\.julia\packages\ODBC\YEzHX\src\Query.jl:376

 [8] top-level scope at C:\Users\myuser\Documents\Fact.jl:94
Query.jl和tables.jl之间似乎存在某种不兼容

以下是使用的代码:

 using DataFrames
 using DataStreams
 using ODBC
 using StatsBase
 using Plots

 myDNS = ODBC.DSN("Driver={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=C:/Users/myuser/Documents/Data.accdb")

 strFactQuery = "SELECT YEAR(FFact) AS anno, SUM(Invoiced) AS Fact FROM Invoices GROUP BY YEAR(FFact)"
 FactResults = ODBC.query(myDNS, strFactQuery)
有没有人有同样的问题?可能是Query.jl错误


VIELS

降级到表V0.2.11解决了问题,但beeing能够获得该版本是一个难题,因为无法通过pkg mannager进行降级,因为存在一些依赖性问题,所以,总之,我去github,选择了版本,复制了代码,并在我的环境中粘贴了库代码……也许不是最优雅的方式,但是成功了。

您使用的是ODBC.jl、Tables.jl和DataFrames.jl的哪些版本?ODBC.jl似乎不是Tables.jl最新版本的最新版本,但为了确保发生了什么,您可以共享版本吗?ODBC v0.8.5数据帧v0.19.4在执行“测试数据帧”之后,忘记了Tables v1.0.1,出现了一些问题
测试摘要:|通过-失败错误总数表| 18 1 6 25基础| 9行样式| 6 1 7列样式| 2 1 3附加| 1 4 6失败:表。jl
您应该将Tables.jl降级为0.2.11因为您的软件包集不兼容。桌子。1.0.1对API引入了突破性的更改,这些更改未包含在您的ODBC.jl和DataFrames.jl版本中(问题是由ODBC.jl版本引起的)。