Database Julia:ODBC.jl无法正确连接到我的sqlite数据库并检索数据
我无法使用sqlite和odbc.jl连接到我的简单数据库。我正在使用MacOS Sierra,版本10.12.3Database Julia:ODBC.jl无法正确连接到我的sqlite数据库并检索数据,database,sqlite,odbc,julia,Database,Sqlite,Odbc,Julia,我无法使用sqlite和odbc.jl连接到我的简单数据库。我正在使用MacOS Sierra,版本10.12.3 简短摘要:管理连接,它检索正确的列名,但无法检索任何数据 一系列步骤: 显示sqlite数据库: using SQLite db_path = "~/test_db.db" test_db = SQLite.DB(db_path) println(SQLite.query(test_db, "SELECT * FROM test")) 结果: 4×2 DataFrames.Dat
简短摘要:管理连接,它检索正确的列名,但无法检索任何数据 一系列步骤: 显示sqlite数据库:
using SQLite
db_path = "~/test_db.db"
test_db = SQLite.DB(db_path)
println(SQLite.query(test_db, "SELECT * FROM test"))
结果:
4×2 DataFrames.DataFrame
│ Row │ id │ name │
├─────┼────┼─────────┤
│ 1 │ 1 │ "name1" │
│ 2 │ 2 │ "name2" │
│ 3 │ 3 │ "name3" │
│ 4 │ 4 │ "name4" │
安装ODBC sqlite驱动程序:
brew install sqlite
现在它给出了:
Warning: sqliteodbc-0.9995 already installed
然后我在和
并创建了一个模板并更新了ini文件 /usr/local/etc/odbcinst.ini:
[SQLite]
Description=SQLite driver
Driver=/usr/local/lib/libsqlite3odbc.so
Setup=/usr/local/lib/libsqlite3odbc.so
Threading=2
/usr/local/etc/模板:
[SQLite]
Description = SQLite driver
Driver = /usr/local/lib/libsqlite3odbc.so
Setup = /usr/local/lib/libsqlite3odbc.so
Threading = 2
然后跑:
odbcinst -i -d -f template
哪个输出:
odbcinst: Driver installed. Usage count increased to 3.
Target directory is /usr/local/Cellar/unixodbc/2.3.4/etc
现在回到julia,继续:
using ODBC
ODBC.listdrivers()
给出:
String["SQLite" "Description=SQLite driver\0Driver=/usr/local/lib/libsqlite3odbc.so\0Setup=/usr/local/lib/libsqlite3odbc.so\0Threading=2\0UsageCount=3\0"]
然后我尝试创建一个dsn:
dsn = ODBC.DSN("Driver=SQLite;Database=/Users/nick_thiessen/test_db.db;LongNames=0;Timeout=1000;NoTXN=0;SyncPragma=NORMAL;StepAPI=0;")
println(dsn)
ODBC.query( dsn, "SELECT * FROM test")
其中:
ODBC.DSN(DSN=;Database=/Users/nick_thiessen/test_db.db;StepAPI=0;Timeout=1000;SyncPragma=NORMAL;NoTXN=0;ShortNames=;LongNames=0;NoCreat=;NoWCHAR=;FKSupport=;Tracefile=;JournalMode=;LoadExt=;BigInt=;JDConv=;PWD=)
0×2 DataFrames.DataFrame
id name
不知何故,它能够识别测试表的列名,但找不到数据一个好灵魂已经重现了这个错误,并在ODBC.jl包中打开了一个问题。这里是链接:一个好灵魂已经复制了这个错误,并在ODBC.jl包中打开了一个问题。以下是链接: