连接字符串¶
- 连接字符串格式
连接字符串以键值对的形式,用分号';'分割. 例如
Server=10.1.203.25;Port=2003;User Id=SYSDBA;Password=szoscar55;Database=OSRDB;
- 关键词对应表
连接字符串关键词不区分大小写!
| 关键词 | 名称 |
|---|---|
| HOST,SERVER,DATA SOURCE | 服务器的地址 |
| PORT | 连接端口(默认2003) |
| DATABASE,DB,INITIAL CATALOG | 数据库的名称(默认为用户名) |
USERNAME,USER NAME,
USER,USERID,USER ID,UID
|
连接用户名称 |
| PASSWORD,PSW,PWD | 用户密码 |
| SSL (true,false,yes,no,0,1) | SSL安全连接(默认:False) |
| SSLMODE(允许(Allow)或禁用(Disable)) | 连接SSL模式控制 (默认为Disable) |
| ENCODING | 编码方式 (操作系统) |
| TIMEOUT | 连接打开可等待时间(默认15s) |
| CONNECTIONLIFETIME | 允许未使用等待连接(默认15s) |
| COMMANDTIMEOUT | 命令执行后等待数据库响应超时时间 (默认0s 代表不超时) |
| POOLING | 使用数据库连接池(默认:True) |
| MAXPOOLSIZE | 数据库连接池最大连接数(1000) |
| MINPOOLSIZE | 数据库连接池最小连接数(1) |
| STMTROLLBACK | 事务回滚方式(事务级别0,语句级别1,默认0) |
| PROTOCOLTYPE | 协议类型,区分新旧协议(默认4) |
| FETCHSIZE | 一次从数据库获取的结果集行数(默认50) |
| USEOBSOLETEPROTOCOL | 驱动是否直接使用旧协议(默认false) |
| LOGLEVEL | 开启日志级别 (日志级别,分为: 0,1,2,3,4, 5, 6, 7级, 默认3) |
LOGDIR,LOGDIRPATH,
LOGDIRECTORY,LOGDIRECTORYPATH
|
设置LOG文件目录路径(默认值 当前项目根目录下logs) |
| LOGFILE,LOGFILENAME | 设置LOG文件默认名称(默认值 oscar_log) |
LOGEXT,LOGFILEEXT,
LOGEXTNAME LOGFILEEXTENSIONNAME
|
设置LOG文件默认扩展名称(默认值 txt) |
| LOGFILEMAXSIZE | 设置LOG文件默认记录的最大数量(默认值100000条记录,大约10M) |
| KEEPALIVED | 驱动是否启动keepalive功能(默认true) |
| KEEPALIVEINTERVAL | keepalive检测包发送间隔时间如果发送检测包后没有
回应等待间隔时间后再次发送检测包(默认75000 ms)
|
| KEEPALIVEWAIT | keepalive等待时间,该时间内没有socket操作则发送检测包
(默认3000000 ms)
|
| BATCHBUFFERSIZE | 批量执行的缓存大小(最大值1024mb,最小值 1mb,默认10mb) |
| EXECUTEBATCHSIZE | 普通execute语句一次执行次数达到多少可以走batch协议
(最大值5000,最小值1,表示不走Batch协议,默认值 100)
|
| NETWORKDATABYSTRING | 数据格式是采用字符串方式传输还是采用协议的方式传输
(默认false采用协议方式传输)
|
| DECIMALDATABYSTRING | 小数的类型,如float、double、numeric、decimal是否
按字符串格式传输(默认true)
|
| PREPARECACHESIZE | prepareCacheSize:preparedStatement 缓存,
当prepareCacheSize>0时,
该功能将启用,缓存中preparedStatement
个数为prepareCacheSize个s数(默认 0)
|
| PREPAREEXECUTEQUERY | 不带参数的prepare语句是否可以直接
走query协议执行sql语句(默认true)
|
| RW,READWRITE,DISPATCH,DISTRIBUTED | 开启读写分离模式(默认 false)
|
| WAITSYNCREAD | 读写分离读备机时是否
等待备机数据同步完成(默认false)
|
| THREADSYNCREAD | 是线程级lsn true(使用线程级lsn仅保证可以查询到同一个
线程之前的更新事务所做的修改),全局 lsn false
(使用全局lsn保证可以查询到所
有线程之前的更新事务所做的修改)(默认true)
|
| SLAVEDELAYINTERVA | 在备机查询不到最新数据的情况下,
一段时间之内不再尝试向备机发送查询语句(默认0ms)
|
| MASTERLOADRATE | 分发时主机负载率0-100(默认0)
|
| REQUIREDSYNCREDO | 读操作是否可以分发到非强制同步备机,
默认是false表示可以分发。强制同步
备机是指数据库配置参数
ENABLE_HA_SLAVE_SYNC_REDO为TURE的同步备机
(默认false)
|
| TRANSACTIONSTRATEGY | 1 事务中的所有语句都分发到主机;
2 务开始的读语句可以分发到备机,一旦出现写语句
后面的语句都分发到主机(默认2)
|
DIAGNOSIS,DIAGNOSTIC,
DIAGNOSISENABLED,DIAGNOSTICENABLED
|
强制开启耗时诊断记录(默认false) |
| AUTHMETHOD,AUTHENTICATIONMETHOD | 0 兼容旧驱动认证方式;
1 代表支持 MD5 认证方式;
2 代表支持 SCRAM 认证方式;
3 代表支持 MD5 和 SCRAM 认证方式;
默认支持所有认证方式
|
说明 :
编码方式, 默认跟随操作系统编码(Encoding.Default),当连接字符串或环境变量(NLS_OSCAR_LANG)中配置时,优先使用(优先级 连接字符串 > 环境变量 > 操作系统). 协议类型, 允许值范围分别为 1,2,3,4, 协议由小到大,新协议兼容旧协议. 日志级别,分为:0,1,2,3,4, 5, 6, 7 级,0表示不打印日志,1表示整个应用中失败的消息,2表示当前操作失败的消息,3表示非严重问题的消息,4表示信息性消息, 5表示SQL消息, 6表示用于调试的诊断消息,7表示用于诊断特定问题的非常详细的诊断消息. 生成日志规则:日志文件路径格式 {日志存放目录}/{文件名称}{日期}{编号}.{文件扩展名}每天生成一个新日志文件对于每个日志文件,记录日志数量不超过允许的最大数量(LOGFILEMAXSIZE),超过文件记录最大数量,自动切换下一个日志文件,如 oscar_log_20230425_01.txt 切换 oscar_log_20230425_02.txt....