gpt4 book ai didi

mysql - SWI Prolog ODBC 错误

转载 作者:行者123 更新时间:2023-11-29 06:50:13 24 4
gpt4 key购买 nike

我正在尝试使用 SWI Prolog(使用 ODBC 驱动程序)连接到本地 MySQL 数据库,但我收到以下错误

?- [family].
% family compiled 0.00 sec, 264 bytes
true.

?- open_db.
ERROR: ODBC: State S1090: [unixODBC][Driver Manager]Invalid string or buffer length

数据库名称:prolog_test

Prolog 代码 (family.pl)

open_db :-
odbc_connect('mysql:dbname=prolog_test;host=localhost', _,
[ user('prologuser'),
password('prologpass'),
alias(localhost),
open(once)
]).

children(X) :-
odbc_query(localhost, 'SELECT (lemma) FROM tableName',X).

感谢帮助

最佳答案

我使用较弱的替代方案 odbc_driver_connect ,它运作良好:

myodbc_connect_db(Db, Uid, Pwd, Cn) :-
format(atom(S), 'driver=mysql;db=~w;uid=~w;pwd=~w', [Db, Uid, Pwd]),
odbc_driver_connect(S, Cn, [encoding(utf8)]).

根据应用要求,不需要 DSN 可能是一个优势。

关于mysql - SWI Prolog ODBC 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15913305/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com