在服务器上对TCL/sqlite3使用ORDER BY时出错

在服务器上对TCL/sqlite3使用ORDER BY时出错,sqlite,tcl,virtual-machine,sql-order-by,Sqlite,Tcl,Virtual Machine,Sql Order By,在我的虚拟服务器(WinServer2012R2)上,我使用sqlite3数据库运行了一些TCL程序 TCL、sqlite、数据库(~25.000项)和代码的所有部分都位于一个共享文件夹C:\data中,我也可以从本地PC(Win10)以驱动器S:的形式访问该文件夹。还有一些程序以同样的方式工作,它们被安排在夜间运行 现在竞争的准则是: console show set auto_path [file join [file dirname [info script]] "../lib"] pac

在我的虚拟服务器(WinServer2012R2)上,我使用sqlite3数据库运行了一些TCL程序

TCL、sqlite、数据库(~25.000项)和代码的所有部分都位于一个共享文件夹C:\data中,我也可以从本地PC(Win10)以驱动器S:的形式访问该文件夹。还有一些程序以同样的方式工作,它们被安排在夜间运行

现在竞争的准则是:

console show
set auto_path [file join [file dirname [info script]] "../lib"]
package require sqlite3
set datasource "./compdata.db3"
wm withdraw .
sqlite3 db $datasource

db eval {SELECT * FROM master_data;} {
  puts "$x1, $x2, $x3, $x4" ; update
}
db close
puts stderr ">>>Ok<<<"
exit
在本地PC上启动命令:

call s:\tcl858\bin\wish85.exe databasetest.t85
如果我添加订单,它只在我从PC启动时运行

db eval {SELECT * FROM master_data ORDER BY x1;} {
  puts "$x1, $x2, $x3, $x4" ; update
}
已在服务器上启动,但收到错误消息:

执行“db eval{SELECT*FROM”时无法打开数据库文件 通过x1;}{put“$x1,$x2,$x3,$x4”;update}”来控制数据顺序


嗯。我希望数据库文件在那个时候已经打开了……你必须发布一个完整的例子,在你的电脑和你的“虚拟服务器”上运行。好的,我已经完成了这个例子。这个问题已经解决了。我将TCL从8.5.8更新到8.6.8,错误消失了。。。。
db eval {SELECT * FROM master_data ORDER BY x1;} {
  puts "$x1, $x2, $x3, $x4" ; update
}