HowTo文档
如何在 XSwitch 中连接其它数据库
XSwitch 支持多种方式连接 PostgreSQL、MySQL、OceanBase、MSSQL 和 Oracle 等数据库。XSwitch 支持 ODBC,理论上支持 ODBC 的数据库都可以连,但没有实际测试过。
连接 PostgreSQL
XSwitch 本身的数据库就是 PostgreSQL,连接字符串如下:
postgresql://xui:xui@xswitch-pg/xui
其中,连接字符串使用 URL 格式,说明如下:
postgresql
:协议名。xui:xui
:用户名和密码,以冒号分隔(在实际环境中用户名密码可能不同)。xswitch-pg
:数据库的主机名,也可以是IP地址:端口号
的形式。xui
:数据库名。
也可以是如下形式:
pgsql://hostaddr=127.0.0.1 dbname=freeswitch user=freeswitch password='' options='-c client_min_messages=NOTICE'
上述连接方式需要用到mod_pgsql
模块。
MySQL
XSwitch 通过mod_mariadb
连接 MySQL 和 MariaDB。
连接字符串:
mysql://Server=127.0.0.1;Port=3306;Database=freeswitch;Uid=root;Pwd=root;
OceanBase
OceanBase 有与 MySQL 兼容的 API,可以直接使用mod_mariadb
连接。连接字符串:
mysql://Server=127.0.0.1;Port=2881;Database=freeswitch;Uid=root;Pwd=root;
达梦数据库
达梦数据库有 C API,但是暂未在 XSwitch 内实现,可以先使用ODBC 连接。
可以通过 ODBC 连接。
修改配置 odbcinst.ini
[DM8 ODBC DRIVER] Description = DM ODBC DRIVER FOR DM8 Driver = /opt/dmdbms/bin/libdodbc.so
修改配置 odbc.ini
[DM] DRIVER = DM8 ODBC DRIVER SERVER = 192.168.3.164 UID = SYSDBA PWD = SYSDBA001 TCP_PORT = 5236
MSSQL
可以通过 ODBC 连接。
修改配置 odbc.ini
[MYSQL] Driver=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc8w.so Description =MySQL ODBC 8.0 Unicode Driver SERVER = 192.168.3.164 PORT = 3306 USER = root Password = root Database = mysql OPTION = 3 charsetI =UTF8
Oracle
可以通过 ODBC 连接。
ODBC
XSwitch 内置了 ODBC 连接,编辑/etc/odbc.ini
:
[freeswitch] # X84-64 #Driver = /usr/lib64/odbc/psqlodbca.so Driver = /usr/lib64/odbc/psqlodbcw.so # ARM64 #Driver = /usr/lib/aarch64-linux-gnu/odbc/psqlodbca.so #Driver = /usr/lib/aarch64-linux-gnu/odbc/psqlodbcw.so Description = PostgreSQL Servername = xswitch-pg Port = 5432 Protocol = 6.4 FetchBufferSize = 99 Username = freeswitch Password = freeswitch Database = freeswitch ReadOnly = no Debug = 1 CommLog = 1 [xui] Driver = /usr/lib64/odbc/psqlodbcw.so Description = PostgreSQL Servername = xswitch-pg Port = 5432 Protocol = 6.4 FetchBufferSize = 99 Username = xui Password = xui Database = xui ReadOnly = no Debug = 1 CommLog = 1
测试连接
isql -v xui xui xui