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