今天凭着积极主动的态度,把短信服务器的运行环境搭建成功,在此和大家分享下经验,希望能帮助到大家。

1.安装Oracle客户端,原来一直使用精简版的Oracle客户端,但“创天炫彩”无法识别,只能安装Oracle官方提供的Oracle客户端,

2.在Oracle客户端的tnsnames.ora配置文件添加连接串

ORCL172 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 172.22.51.172)(PORT = 1521))

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = RDPCS)

)

)

3.安装GPRS Modem的驱动程序,插上GPRM Modem硬件;

4.安装GPRM Modem的管理程序;

5.创天炫彩的通道配置;

6.在Oracle数据库创建程序所需的数据表,脚本如下:

create table MSG_FAILEDBOX

(

ID NUMBER not null,

OriginMsgID NUMBER not null,

ExpressLevel NUMBER default 2 not null ,

Sender VARCHAR2(100),

Receiver VARCHAR2(200) not null,

MsgType NUMBER not null,

MsgTitle VARCHAR2(500),

MMSContentLocation VARCHAR2(500),

SendTime DATE default SYSDATE not null,

CommPort NUMBER not null,

ActualSendTime DATE not null,

FailedReason VARCHAR2(500)

);

alter table MSG_FAILEDBOX

add constraint MSG_FAILEDBOX_PK11075707620945 primary key (ID)

using index

pctfree 10

initrans 2

maxtrans 255

storage

(

initial 64K

minextents 1

maxextents unlimited

);

create table MSG_INBOX

(

ID NUMBER not null,

Sender VARCHAR2(100) not null,

MsgType NUMBER not null,

MsgTitle VARCHAR2(500),

MMSUrl VARCHAR2(200),

MMSContentLocation VARCHAR2(4000),

MsgArrivedTime DATE not null,

MMSDownloadedTime DATE,

MMSDownloadedState NUMBER default 0 not null ,

CommPort NUMBER not null

);

alter table MSG_INBOX

add constraint MSG_INBOX_PK21075710238559 primary key (ID)

using index

pctfree 10

initrans 2

maxtrans 255

storage

(

initial 64K

minextents 1

maxextents unlimited

);

create table MSG_OUTBOX

(

MsgID NUMBER not null,

ExpressLevel NUMBER default 2 not null ,

Sender VARCHAR2(100),

Receiver VARCHAR2(200) not null,

MsgType NUMBER default 1 not null ,

MsgTitle VARCHAR2(500),

MMSContentLocation VARCHAR2(500),

SendTime DATE default SYSDATE not null,

CommPort NUMBER default 0 not null

);

alter table MSG_OUTBOX

add constraint MSG_OUTBOX_PK21075710226041 primary key (MsgID)

using index

pctfree 10

initrans 2

maxtrans 255

storage

(

initial 64K

minextents 1

maxextents unlimited

);

create table MSG_SENTBOX

(

ID NUMBER not null,

OriginMsgID NUMBER not null,

ExpressLevel NUMBER not null,

Sender VARCHAR2(100),

Receiver VARCHAR2(200) not null,

MsgType NUMBER not null,

MsgTitle VARCHAR2(500),

MMSContentLocation VARCHAR2(500),

SendTime DATE not null,

CommPort NUMBER not null,

ActualSendTime DATE not null,

ReceiveMMSTime DATE,

MMSMessageID VARCHAR2(200)

);

alter table MSG_SENTBOX

add constraint MSG_SENTBOX_PK21075710226041 primary key (ID)

using index

pctfree 10

initrans 2

maxtrans 255

storage

(

initial 64K

minextents 1

maxextents unlimited

);

create sequence MSG_FAILEDBOX_ID_SEQ

minvalue 1

maxvalue 999999999

start with 81

increment by 1

cache 20;

create sequence MSG_INBOX_ID_SEQ

minvalue 1

maxvalue 999999999

start with 81

increment by 1

cache 20;

create sequence MSG_OUTBOX_ID_SEQ

minvalue 1

maxvalue 999999999

start with 141

increment by 1

cache 20;

create sequence MSG_SENTBOX_ID_SEQ

minvalue 1

maxvalue 999999999

start with 81

increment by 1

cache 20;

CREATE OR REPLACE TRIGGER "SET_MSG_FAILEDBOX_ID" BEFORE INSERT

ON "MSG_FAILEDBOX"

FOR EACH ROW

DECLARE

NEXT_MSG_FAILEDBOX_ID NUMBER;

BEGIN

SELECT MSG_FAILEDBOX_ID_SEQ.NEXTVAL INTO NEXT_MSG_FAILEDBOX_ID FROM DUAL;

:NEW.ID := NEXT_MSG_FAILEDBOX_ID;

END;

/

CREATE OR REPLACE TRIGGER "SET_MSG_INBOX_ID" BEFORE INSERT

ON "MSG_INBOX"

FOR EACH ROW

DECLARE

NEXT_MSG_INBOX_ID NUMBER;

BEGIN

SELECT MSG_OUTBOX_ID_SEQ.NEXTVAL INTO NEXT_MSG_INBOX_ID FROM DUAL;

:NEW.ID := NEXT_MSG_INBOX_ID;

END;

/

CREATE OR REPLACE TRIGGER "SET_MSG_OUTBOX_ID" BEFORE

INSERT ON "MSG_OUTBOX"

FOR EACH ROW

DECLARE

NEXT_MSG_OUTBOX_ID NUMBER;

BEGIN

SELECT MSG_OUTBOX_ID_SEQ.NEXTVAL INTO NEXT_MSG_OUTBOX_ID FROM DUAL;

:NEW.MsgID := NEXT_MSG_OUTBOX_ID;

END;

/

CREATE OR REPLACE TRIGGER "SET_MSG_SENTBOX_ID" BEFORE

INSERT ON "MSG_SENTBOX"

FOR EACH ROW

DECLARE

NEXT_MSG_SENTBOX_ID NUMBER;

BEGIN

SELECT MSG_SENTBOX_ID_SEQ.NEXTVAL INTO NEXT_MSG_SENTBOX_ID FROM DUAL;

:NEW.ID := NEXT_MSG_SENTBOX_ID;

END;

/

commit;  7.创天炫彩的数据库配置:

数据库配置页面的数据库连接串名称和步骤2在tnsnames.ora中配置的连接串名称必须相同,测试连接。

8.发送测试短信:

使用方法为:向MSG_Outbox表(信息发送表)插入想要发送的短信内容,GRRS Modem硬件中的程序会把表中的数据发送到目标手机号,同时将这条记录从MSG_Outbox表删除。消息发送成功,将这条记录存储到MSG_Sentbox表(信息发送成功表);消息发送失败,将这条记录存储到MSG_Failedbox表(信息发送失败表)。MSG_Inbox表用于存储接收到的彩信/短信。

到此,短信服务器的运行环境搭建成功,希望我的分享能够帮助大家进步。

原文:http://blog.csdn.net/quwenzhe/article/details/42753181

短信服务器部署位置,搭建短信服务器相关推荐

  1. Nginx实战基础篇六 通过源码包编译安装部署LNMP搭建Discuz论坛

    Nginx实战基础篇六 通过源码包编译安装部署LNMP搭建Discuz论坛 版权声明: 本文遵循"署名非商业性使用相同方式共享 2.5 中国大陆"协议 您可以自由复制.发行.展览. ...

  2. 5G UPF + MEC 的部署位置、场景与模式

    目录 文章目录 目录 通信网络的时延分析 部署位置 UPF 的部署位置 中心级 UPF 区域级 UPF 边缘级 UPF 企业级 UPF ME Host 的部署位置 ME Host 在接入局所 DC M ...

  3. VMware HA与VMotion的部署与搭建

    VMware HA与VMotion的部署与搭建 一.VMware HA 由于公司虚拟化的不断使用,不允许出现ESX Server的单点故障,因此考虑用VMware 自己的解决方案,及VMware的群集 ...

  4. SpringBoot热部署环境搭建和原理分析

    SpringBoot热部署环境搭建 插件会监控 classpath的资源变化 对类加载采用了两种类加载器(只重启开发人员编写的代码部分) 一. 现象 开发项目过程中,修改了某些代码后需要本地验证时,需 ...

  5. 查看eclipse中项目部署位置

    一.问题描述 在eclipse中开发web项目,会使用tomcat部署,如何查看项目部署位置呢 二.操作 红框为项目部署的位置 2.1 查看当前项目工作区(workspace) 路径1+路径2为项目部 ...

  6. ChatGPT 使用 拓展资料:使用 HuggingFace+Gradio 部署快速搭建一个ChatGPT的聊天界面

    ChatGPT 使用 拓展资料:使用 HuggingFace+Gradio 部署快速搭建一个ChatGPT的聊天界面 聊天界面链接 https://huggingface.co/spaces/duan ...

  7. 使用docker部署nginx搭建简单的idea-2019 jrebel插件激活服务器

    使用docker部署nginx搭建简单的idea-2019 jrebel插件激活服务器 前言 之前用的jrebel激活方式一直都是用的 *lanyus* 大神的 [jrebel激活](http://i ...

  8. LAMP环境部署及搭建网校系统

    LAMP环境部署-本地搭建edusoho网校系统: 一.LAMP介绍 二.项目环境 三.环境清理及准备 四.LAMP环境部署 五.服务配置 六.导入edusoho网站源码 七.网站安装向导 一.LAM ...

  9. 服务器部署位置怎么找,服务器部署位置

    服务器部署位置 内容精选 换一换 用于IDE-daemon-host(作为服务端)和IDE-daemon-client(作为客户端)之间的双向认证.在Atlas 300场景下,IDE-daemon-h ...

最新文章

  1. CVPR2020:基于层次折叠的跳跃式注意网络点云完成
  2. php 小数末尾进1,PHP处理浮点数进一、去尾(不进行四舍五入) | 剑花烟雨江南...
  3. 5大架构:细数数据平台的组成与扩展
  4. LeetCode 32. Longest Valid Parentheses
  5. 单基因gsea_筛到5分的核心基因以后你可以怎么做?
  6. 在CentOS 7中使用Sendmail通过PHP发送邮件
  7. java编译器是jdk_Java 入门(--Javac(Java编译器)--JDK--JVM--JRE--)
  8. MySQL数据库表数据迁移--ibd的使用
  9. Java基础汇总(二十二)——行为模式
  10. 多家国产独立游戏厂商发布反淘宝盗版联合声明
  11. 函数柯里化的几个例子
  12. 电机振动噪声(NVH)气隙磁场推导
  13. 一个不错的shell 脚本教程
  14. 解决Chrome 内置的翻译功能翻译用不了
  15. 大模型为什么是深度学习的未来?
  16. APP在后台被系统杀死的六种主要原因
  17. 系统分析员考试复习笔记-6:第六章:系统的配置与性能评价
  18. 关系型数据库与NoSql数据库的优缺点
  19. 中天国际建筑的供电系统设计
  20. 基于java的美甲预约微信小程序

热门文章

  1. FCC-函数式编程:使用 reduce 方法分析数据
  2. php随机生成昵称,使用PHP批量生成随机用户名
  3. PCB工程文件默认打开方式变成了SoildWorks,怎么改成AD默认打开
  4. 电路中滤波电容和退耦电容_电容在电路中究竟有多少种应用?
  5. 计算机公司客户电话怎么打,企业微信公费电话怎么打多人通话【方法】
  6. 【个人博客】Hexo个人博客搭建与配置详细教程 + Fluid主题 + Gitee发布
  7. Java开发Telegram机器人
  8. hread first html5,(完整版)2017届上海市徐汇区高三英语二模卷(含听力文本和答案)...
  9. 【动态】码绘VS手绘的对比——有点萌的开关
  10. 青少年计算机等级测试内容,青少年人工智能技术水平测试一级等级考试介绍