WinSMS 短信组件使用说明: 正式版 帮助文档

1.在sql2000文件夹下有两个文件,

sms_procedure.sql 需要用到的存储过程

sms_table.sql 短信表结构

1.1 先打开资源管理器,新建或者在现有的数据库上创建表结构.例如:新建一个temp数据库(图),然后打开查询分析器.

 

1.2 选择新建的数据库temp.然后分别打开sms_procedure.sql/sms_table.sql两个文件,再执行这两个文件.图

1.3 执行完后.可以专为此数据建立新用户权限.也可以使用sa账户.新建数据库用户方法.打开企业管理器>Microsoft SQL Servers->Sql Server组->安全性->登录,在右侧点击鼠标右键,选择[新建登录...]看到如下图片.

1.4 名称输入[sms1],选择 SQL Server身份验证.输入密码.然后点击[数据库访问]选项卡,在temp前在选中,
在数据库角色选中[db_owner],图


1.5 点击确定,再次输入密码,再确定.到此数据库表结构/存储过程/访问数据库的用户设置完毕!

2 配置参数

打开smsconfig.ini配置文件,内容如下

----------------------------------------------------------------------------------------------
[Config]
; //服务器IP,不用修改,保持本机IP
Server=127.0.0.1
;//用户名,刚才新建的用户名
Uid=sms1
; //用户密码
Pwd=123132
; //数据库名字,短信表所在的数据库名
Database=temp
; //最大发送次数,如果失败后,可以重试几次
MaxSend=3
; //如果没有数据,就睡眠一会,不要太小也不要太大,不要小于5000ms,毫秒(1000为1秒)
ThreadSleep=10000
; //0,关闭重试发送。2,先继续发送,然后在发送失败,1,循环发送失败。在继续
FailSendMode=2
; //防止对数据库经常写入。成功发送N条后,才写入数据库!sql2000 最大为34,超过34就忽略
WriteDBForSussess=10
;//每10条都发送失败后。写入数据库..,sql2000 最大为34,超过34就忽略
WriteDBForFail=30
;/*串口超时设置,如果不懂,保持默认设置。参数的正确性直接影响能否与模块正常的通信
;如果返回结果太大,可以设置超时时间大点或者保持默认设置, 单位(毫秒ms)*/
;/* 读字符间隔超时时间*/

ReadIntervalTimeout =1500

;/* 读操作时每字符的时间 (n个字符总共为n ms)*/
ReadTotalTimeoutMultiplier =100

;/* 基本的(额外的)读超时时间ms*/
ReadTotalTimeoutConstant =1000

;/* 写操作时每字符的时间(n个字符总共为n ms)*/
WriteTotalTimeoutMultiplier =1000

;/* 基本的(额外的)写超时时间ms*/
WriteTotalTimeoutConstant =100
//软件密钥(第一次使用为空,日志提示机器码,然后与服务商联系).如果密钥错误,写入日志,然后终止服务!否则提示成功!写入日志
key=N3839R211SPS63PNNN0R7Q8553P61QNO0045559404F5A564F5C54694E14C2C5AFEDC8DEA1D8A3DBA2A3F3F1EDFD9D8EED99

;通告者的手机号,当SIM收到移动或联通公司发来的短信时(当手机费用不足时,提示客户充值),系统自动转发此手机上,为空代表关闭此功能
NotifyNo=8615910991025
;所有串口都以异步方式工作

;短信发送状态报告,1代表开启,0代表关闭.有的卡不支持状态报告,COM参数WorkMode=3全双工模式下生效.影响发送和接收短信速度,建议关闭
StatusReport=0

;所有串口都以异卡方式工作
;以下是各个COM口的配置
;---------------------------------------------------------------------------------------------------

;串口的名称,可以手动增加.根据授权个数约束总串口数
[COM1]
;为了节省费用,(任何卡都可以给小灵能发送)移动给移动发,联通给联通发,0,全都可以发送,1,代表移动卡,2代表联通卡
CardType=1
;是否开日志功能,(一般情况保持关闭,影响短信速度.测试时可以打开)如果1开启,0关闭.默认关闭,向日志文件写入此串口发送的短信的ID号和发送状态
WriteLog=1
;2无校验,3奇校验,0偶校验
Parity=0
;代表比特率,可选值4800,9600,19200,38400,57600
Baud=19200
;发送短信时要用SIM卡属地的SMSC号码,短信息中心号码到http://www.xhsms.com/sms.html查询,如果不设置将认为此端口不工作
SmSCenter=+8613800100500
;0代表不工作,1,代表发送,2,代表接受,3,全双工(收/发)
WorkMode=3
;SIM卡的号码,用于[接收或发送]短信时填充发送者/接收者(可以判断短信是通过哪个SIM卡发送或者接收),也用于测试SIM是否工作正常(不欠费)
SimNo =8613102651512

[COM6]
CardType=2
WriteLog=1
Parity=0
Baud=19200
SmSCenter=+8613010112500
WorkMode=3
SimNo = 8613260300886

[COM3]
CardType=1
WriteLog=1
Parity=0
Baud=19200
SmSCenter=+8613800773500
WorkMode=3
SimNo =8613457346568

------------------------------------------------------------------------------------------------

注:红色代表参数值,可以手动设置
参数CardType值跟据以下4种模式设置

编号 移动网段 联通网段 全网段 描述
1 × × 全部串口设置为移动,只能给移动和小灵通发送
2 × × 全部串口设置为联通,只能给联通和小灵通发送
3 × × 全部串口设置为全网,可以给移动/联通/小灵通发送
4 × 设置所有串口中的一部分为移动另一部分为联通
支持以上4种发送模式.跟据公司需要设置不同发送模式

 

3.安装WinSMS组件

3.1 点击开始->运行 输入CMD,进入DOS窗口,输入软件所在的全路径然后空格-Install参数,安装服务.-Remove删除服务.图

3.2 在启动服务时失败,打开日志查看原因.[图]


[2007-05-07 21:20:01] 软件授权无效,机器码:MMMPQDNIZMDXW,请与服务商联系!
[2007-05-07 21:20:01] 初始化参数失败,系统终止服务
由于授权失败造成不能正常启动服务。需要跟服务商联系.获取授权序列号

3.3 把机器码提供服务商,获取正版序列号后,打开smsconfig.ini文件,找到key,输入获取的序列号然后保存[图]

3.4 保存后,重新启动服务.这次提示启动成功![图]

3.5 查看日志文件,显示

[2007-06-07 21:32:31] WinSMS v1.0.1.2正式版,授权个数:[16],授权给:中国星幻科技有限公司
[2007-06-07 21:32:31] [COM3]打开成功,模块工作正常,工作模式:[3],发送号码类别:[1]
[2007-06-07 21:32:40] [COM6]打开成功,模块工作正常,工作模式:[3],发送号码类别:[2]
[2007-06-07 21:32:47] 打开COM9失败,请检查硬件是否连接正常
[2007-06-07 21:32:47] 共找到2个串口工作正常
[2007-06-07 21:32:47] WinSMS 服务成功启动

NT服务管理器会多出一个WinSMS服务[图]

服务已经运行成功!用户可以手动向test_sms中加入一条测试短信.或者在查询分析器执行以下语句

exec SMS_AddNewSms '138000000000','测试短信',1,0

'138000000000'是接收者的手机号

提示:

1.不能与test_sms表关联触发器.严重影响短信发送和接收时间
2.WinSMS组件必须与数据库安装在同一台机器上.因为组件经常与数据库操作,如果不在同一台机器.会出现网络带宽慢而操作超时
3.向表写入要发送短信时,采用正则验证号码的有效性.防止无效号码加入表中,造成时间浪费!

NT服务启动过程

授权成功后,系统检测COM口是否存在,如果存在,检测模块是否可用.如果可用向自己发送一条测试短信.检测SIM卡是否有效.如果有效循环下一个COM口,直到最后一个COM口.COM口数量越多启动时间就越慢

所以启动时间会长点.需要耐心等待.

在线短信平台测试 http://sms.xhsms.com

>>帮助中心