是否可以从 ns2 后端文件执行 sql 查询?
还是在 tcl 中可行?
您当然可以从 Tcl 执行 SQL 查询。建议您如何执行此操作的详细信息取决于您尝试访问的数据库和您使用的 Tcl 版本。
对于 Tcl 8.6,建议您使用 TDBC;有许多数据库(SQLite、PostgreSQL、MySQL)和 ODBC 的 TDBC 驱动程序,它允许访问更多的数据库引擎。SQLite 本身也带有完整的 Tcl 8.6 发行版。
对于 Tcl 8.5 及之前的版本,有许多数据库的扩展包,太多了,我不打算列出它们。如果我们知道您要使用哪个数据库,我们就能为您指出正确的代码片段来执行此操作。
在所有情况下,您的代码都会执行以下操作:
# Optionally, if needed...
lappend auto_path /the/location/of/the/extension/packages
# Make the code of the package available to your code
package require theDatabaseInterface
# The syntax of this will vary a lot...
theDatabaseInterface connect dbhandle "dbproto://user:pass@host/thedb"
dbhandle query {
SELECT ...
}
将视为andpackage require
的更高级别,因此您无需了解包的实现方式或实际位置。它还支持版本控制,因此您可以安装多个版本。这使得管理更新变得更加容易。source
load