Я использовал Джулию для некоторых графических результатов, используя ODB C для соединения базы данных MS Access для получения данных. Эта же функция работала без проблем две недели go, но теперь выдает ошибку:
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?
С уважением