#python-yaspy模块
# 方法
connect( parameters… )
connect()用于创建与数据库连接类的构造函数,相关参数如下表所示。
| 参数 | 描述 |
|---|---|
| connname | 连接的名称。 |
| dsn | 数据源名称(Data Source Name),可包含数据库用户名、密码、数据库URL等信息,完整格式为user/password@url,URL格式如下:* 单地址连接: host:port* 多地址连接(primary类型): host:port,host:port,host:port或PRIMARY:host:port,host:port,host:port* 多地址连接(loadBalance类型): LOADBALANCE:host:port,host:port,host:port参数含义: * host:数据库所在服务器的网络地址,可以为IPv4地址、IPv6地址或域名。在共享集群部署中,若已配置SCAN或VIP,还可以使用相应的域名或IP地址。 * port:数据库服务端监听端口,如安装过程中未进行调整,默认为1688。 * primary:表示按顺序优先级连接主节点,驱动将按照指定的监听地址先后顺序对节点进行角色判断并连接首个主节点。 * loadBalance:表示负载均衡连接最优节点,驱动将自动识别出连接数最少的节点并连接。 |
| user | 数据库用户名。 可选参数,若dsn中未指定则必选。 |
| password | 数据库用户密码。 可选参数,若dsn中未指定则必选。 |
| host | host:数据库所在服务器的网络地址,可以为IPv4地址、IPv6地址或域名。在共享集群部署中,若已配置SCAN或VIP,还可以使用相应的域名或IP地址。 可选参数,若dsn参数中未指定则必选。 如需配置多地址连接,只能通过dsn参数进行配置。 |
| port | 数据库端口号 可选参数,默认为1688。 |
Note:
如果user和password中有特殊字符/、@、\,需要使用符号\进行转义,举例如下:
| dsn | user | password | host | port |
|---|---|---|---|---|
| 192.168.1.2:1688 | 未指定 | 未指定 | 192.168.1.2 | 1688 |
| sys@192.168.1.2:1688 | sys | 未指定 | 192.168.1.2 | 1688 |
| sys/yasdb_123@192.168.1.2:1688 | sys | yasdb_123 | 192.168.1.2 | 1688 |
| sys/yasdb\@_123@192.168.1.2:1688 | sys | yasdb@_123 | 192.168.1.2 | 1688 |
| sys\//yasdb\@_123@192.168.1.2:1688 | sys/ | yasdb@_123 | 192.168.1.2 | 1688 |
| s\/ys\@\\/yasdb\@_123@192.168.1.2:1688 | s/ys@\ | yasdb@_123 | 192.168.1.2 | 1688 |
# 属性
Python DB API v2.0规范中要求数据库模块都应该定义如下3个属性变量:
| 名称 | 含义 | 取值 |
|---|---|---|
| apilevel | 模块支持的Python DB API版本 | 2.0 |
| paramstyle | 参数标记的格式风格 目前固定为named,表示格式为 where name = :name | named |
| threadsafety | 模块接口支持的线程安全级别 目前固定为2,表示线程可以共享模块和连接但不能共享游标 | 2 |
Python开发人员可通过如下代码查看变量的值:
>>> import yaspy
>>> yaspy.threadsafety
2
>>> yaspy.apilevel
'2.0'
>>> yaspy.paramstyle
'named'

