ODBC连接器是一个数据库抽象层,它可以让Asterisk与广泛的数据库进行通信,而无需开发人员为Asterisk需要的每一个数据库创建一个单独的数据库连接。这样可以节省大量的开发工作和代码维护。因为我们在Asterisk和数据库之间添加了其他应用层可能会有轻微的性能损失,但当你需要Asterisk系统功能强大,灵活的数据库功能时可以缓解适当的设计是值得的。(Ps:这段属于废话,看看就行了)
在安装连接器在Asterisk前,您必须安装ODBC到Linux上。要安装的ODBC驱动程序,请使用以下命令。
$sudo yum install unixODBC unixODBC-devel libtool-ltdl libtool-ltdl-devel
默认情况下,CentOS会安装通过ODBC连接PostgreSQL的驱动。要安装ODBC连接MySQL的驱动请执行下面的指令:
$sudo yum install mysql-connector-odbc
为MySQL配置ODBC
MySQL的配置文件在/etc/odbcinst.ini
CentOS上默认文件已经包含了一些数据,包括MySQL的也存在,但我们需要一些更改。用下面的数据进行更改:
[MySQL] Description = ODBC for MySQL Driver = /usr/lib/libmyodbc3.so Setup = /usr/lib/libodbcmyS.so FileUsage = 1
通过运行下面的指令验证系统能找到驱动,如果一切都OK,会返回MySQL的标题:
# odbcinst -q -d[MySQL]
接下来,配置/etc/odbc.ini文件,根据自己的需要配置这里的文件,使数据库能被你的软件使用
[asterisk-connector] Description = MySQL connection to 'asterisk' database Driver = MySQL Database = asterisk Server = localhost UserName = asterisk Password = welcomePort = 3306 Socket = /var/lib/mysql/mysql.sock
验证ODBC连接器
现在利用isql功能验证能连到你的数据库上,当你输入指令后会看到结果为1的返回值就表明连接成功了
$
echo “select 1” | isql -v asterisk-connector
+—————————————+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+—————————————+
SQL> +————+
| ?column? |
+————+
| 1 |
+————+
SQLRowCount returns 1
1 rows fetched
$ exit