在我的虚拟服务器(Win Server 2012R2)上,我使用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 c:\data\tcl858\bin\wish85.exe databasetest.t85
在本地PC上启动命令:
call s:\tcl858\bin\wish85.exe databasetest.t85
如果添加ORDER BY,则仅在从PC启动时运行。
db eval {SELECT * FROM master_data ORDER BY x1;} {
puts "$x1, $x2, $x3, $x4" ; update
}
在服务器上启动后会收到错误消息:
在执行“ db eval {SELECT * FROM master_data ORDER BY x1;} {放入“ $ x1,$ x2,$ x3,$ x4”;更新}”。