数据库
在此对话框中显示项目的数据库参数。当它们被更改并点击 “确定(OK)” 按钮时, 应用程序构建器将检查与数据库的连接,如果连接失败,将显示错误。
备注
当任何 数据库(Database) 参数被更改时(除了 数据库手动更新(DB manual update) ), 必须重新启动服务器应用程序才能使更改生效。
如果 数据库手动更新(DB manual update) 复选框未勾选(默认), 那么当保存对有关联的数据库表的实体项所做的更改时,该数据库表会自动修改。 例如,如果我们在 实体项编辑器对话框 中为某个实体添加一个新字段,新字段将被添加到关联的数据库对应的表中。 如果勾选此复选框,则不会对数据库中的数据表进行任何修改。
在更新的版本中,数据库手动更新(DB manual update) 已重命名为 数据库手动模式(DB manual mode) 。
备注
使用此选项时请务必非常小心。
数据库设置示例
改编自 Jam.py 设计技巧
Jam.py 支持许多不同的数据库服务器。例如 PostgreSQL 、MariaDB 、MySQL 、MSSQL 、Oracle 、Firebird 、IBM 、SQLite 以及使用 SQLCipher 的 SQLite 。
- 如果您正在开发一个小型项目或不打算在生产环境中部署的项目,
SQLite 通常是最佳选择,因为它不需要运行单独的服务器。 然而,SQLite 与其他数据库有许多不同之处,
因此如果您正在开发一个重要的项目,建议您使用与在生产环境中相同的数据库进行开发。
除了数据库后端,我们还需要确保安装了 Python 数据库绑定。
如果使用 PostgreSQL,需要
psycopg2或psycopg2-binary包。如果使用 MySQL 或 MariaDB,Python 2.x 需要
MySQLdb。对于 Python 3.x,需要mysql-connector-python和mysqlclient包,以及数据库客户端开发文件。支持在 Windows 上使用 MySQL,请访问 在 Windows 上部署 MySQL (Windows 上的 MySQL 部署)。
如果使用 MSSQL,需要
pymssql。对于 MS Windows 上的 ODBC,需要pyodbc。像往常一样配置 ODBC,DSN 作为内容。如果使用 Oracle,需要 cx_Oracle 以及 Python 头文件(开发文件)。
如果使用 SQLCipher ,Linux 需要
sqlcipher3-binary包。Windows 有独立的 DLL 可用。如果使用 IBM (待定),需要
ibm_db和ibm_db_dbi包。如果使用 Firebird,需要
fdb包。如果使用 Databricks ,需要
databricks-sql-connector包。
尽管 Jam.py 支持上述所有数据库,但不能保证支持某些特定和/或专有的数据库功能。 这里我们列出几个经过测试的数据库:
SQLite
PostgreSQL
MySql
FireBird
MSSQL
备注
DSN 示例:DRIVER={SQL Server}; SERVER=localhost\MSSQLSERVER01; DATABASE=master; Trusted_Connection=yes;
Oracle
Databricks
备注
Database (数据库)字段中,将 Databricks 数据库的工作区和数据库模式名称按 “workspace.database” 形式输入到 数据库(Database) 字段中。这在屏幕截图上显示为右上角的 “samples.bakehouse” 。
并非所有 DDL 都受支持。