ns2バックエンドファイルからSQLクエリを実行することは可能ですか?
またはそれはtclで可能ですか?
あなたは確かにTclからSQLクエリを実行することができます。推奨される方法の詳細は、アクセスしようとしているデータベースと使用しているTclのバージョンによって異なります。
Tcl 8.6では、TDBCを使用することをお勧めします。多くのデータベース(SQLite、PostgreSQL、MySQL)用のTDBCドライバーと、さらに多くのデータベースエンジンへのアクセスを可能にするODBC用のTDBCドライバーがあります。完全なTcl8.6ディストリビューションには、SQLite自体も付属しています。
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 ...
}
package require
はとの上位レベルであるsource
と考えload
てください。これにより、パッケージがどのように実装されているか、または実際にどこに配置されているかを知る必要がなくなります。また、バージョン管理もサポートしているため、複数のバージョンをインストールできます。これにより、更新の管理がはるかに簡単になります。