刚刚写了个DEMO,在内网来测试SQL2000后完全正常。现在想测试外网是否正常,毕竟路由器IP不固定,所以选择了路由器+花生壳免费域名(koma.5166.info),所以先安装花生壳客户端软件。下面是我在这过程中遇到的一些问题:

1、理论上将1433端口映射出去(这个端口是SQL2000服务器默认的端口)

结果发现程序、SQL查询分析器都无法连接服务器。这时我排除WINDOWS防火墙、关闭瑞星防火墙与杀毒软件仍无法连接。

于是乎查阅相关资料,网上的资料真的太多,涉及到的参数与设置太多,估计是大多人喜欢转载来转载去的,真不知道他们自己实践过没有。结果仍然没有成功!

2、SQL2000 SP4补丁程序

这是很多地方看到最多的一个方法,于是先下载安装完这个补丁后,发现DEMO程序与SQL查询分析器还是无法正确连接,于是查看端口监听状态,在命令行输入netstat -an

  1. C:/Documents and Settings/Koma>netstat -an
  2. Active Connections
  3. Proto  Local Address          Foreign Address        State
  4. TCP    0.0.0.0:135            0.0.0.0:0              LISTENING
  5. TCP    0.0.0.0:445            0.0.0.0:0              LISTENING
  6. TCP    0.0.0.0:1433           0.0.0.0:0              LISTENING
  7. TCP    0.0.0.0:6059           0.0.0.0:0              LISTENING
  8. TCP    127.0.0.1:1026         0.0.0.0:0              LISTENING
  9. TCP    127.0.0.1:1036         127.0.0.1:1025         CLOSE_WAIT
  10. TCP    127.0.0.1:1038         127.0.0.1:1025         CLOSE_WAIT
  11. TCP    192.168.1.100:139      0.0.0.0:0              LISTENING
  12. UDP    0.0.0.0:445            *:*
  13. UDP    0.0.0.0:1434           *:*
  14. UDP    127.0.0.1:123          *:*
  15. UDP    127.0.0.1:1049         *:*
  16. UDP    127.0.0.1:1239         *:*
  17. UDP    127.0.0.1:1900         *:*
  18. UDP    192.168.1.100:123      *:*
  19. UDP    192.168.1.100:137      *:*
  20. UDP    192.168.1.100:138      *:*
  21. UDP    192.168.1.100:1900     *:*
  22. C:/Documents and Settings/Koma>

此时我关闭所有那些无关的应用程序,于是将上面所有侦听的端口全部隐射出去,最终排锁定在两个端口:1433与445。

3、DEMO程序相关代码

A、建立连接时的代码:

  1. BOOL CQDlg::OnInitDialog()
  2. {
  3. ......
  4. // Set the icon for this dialog.  The framework does this automatically
  5. //  when the application's main window is not a dialog
  6. SetIcon(m_hIcon, TRUE);         // Set big icon
  7. SetIcon(m_hIcon, FALSE);        // Set small icon
  8. // TODO: Add extra initialization here
  9. //初始化COM接口
  10. if (!AfxOleInit())
  11. {
  12. AfxMessageBox("初始化com接口失败");
  13. }
  14. HRESULT hr;
  15. try
  16. {
  17. // 创建Connection对象
  18. hr = m_pConnection.CreateInstance("ADODB.Connection");
  19. if(SUCCEEDED(hr))
  20. {
  21. // 连接数据库成功
  22. hr = m_pConnection->Open("Provider=SQLOLEDB;Server=koma.5166.info,1433;DataBase=student;UID=sa;PWD=","","",adModeUnknown);
  23. // MessageBox("数据库连接成功!");
  24. }
  25. }
  26. catch(_com_error e)
  27. {
  28. // 捕捉异常
  29. CString errormessage;
  30. errormessage.Format("连接数据库失败!/r/n错误信息:%s",e.ErrorMessage());
  31. AfxMessageBox(errormessage);///显示错误信息
  32. }
  33. return TRUE;
  34. }

B、程序运行效果:

C、SQL查询分析器:

4、总结

MS SQL2000“表面”上看起来像只是1433端口在侦听,但实际上还有个445端口也在侦听,两者缺一不可。 所以让外网主机访问内网SQL2000服务器必须先安装SP4补丁(打补丁前请先备份好自己重要的数据),再将1433与445端口两个都从NAT设备中映射出去即可。

至于为什么需要同时侦听这两个端口,哪位友友知道的麻烦告诉我一下,谢谢啊!

SQL2000服务端配置-如何让外网访问SQL2000的更多相关文章

  1. TortoiseSVN和VisualSVN-Server的配置使用,外网访问SVN版本库

    TortoiseSVN和VisualSVN-Server的配置使用,外网访问SVN版本库 SVN客户端程序:TortoiseSVN SVN服务器程序:VisualSVN-Server ######## ...

  2. VMware下Linux配置局域网和外网访问

    我想尝试的是利用本机的ip+port来访问虚拟机上的web服务器,因为这样的话,我就能够将我的web服务器部署成为一个能让外网访问的服务器了,首先说下我的环境: 主机:系统win7,ip地址172.1 ...

  3. wamp基本配置与设置外网访问

    wamp安装(都是一键安装)正常启动后,做一些基本配置的介绍: 1.打开rewrite_module,方法一:左键点击wamp图标,鼠标移至Apache,然后平移至Apache模块,勾选rewrite ...

  4. VMware下Linux配置局域网和外网访问(CentOS)

    要使用Linux系统很重要的一个操作就是使Linux系统能够访问互联网,只有Linux系统能够访问互联网才能够去下载很多自己所需要的资源,如果不能访问互联网那么使用Linux系统往往会卡在这一步,假设 ...

  5. centos7下配置iptables实现外网访问内网服务器

    说明:Centos 7 默认的防火墙是 firewall,安装iptables之前需关闭Firewall 外网机器:外网ip:120.25.71.183内网ip:10.1.1.23 内网机器:内网ip ...

  6. VMware下Linux网络配置局域网和外网访问

    要使用Linux系统很重要的一个操作就是使Linux系统能够访问互联网,只有Linux系统能够访问互联网才能够去下载很多自己所需要的资源,如果不能访问互联网那么使用Linux系统往往会卡在这一步,假设 ...

  7. 配置cas可外网访问

    把应用程序tomcat下的conf下的context.xml里配置内容修改 如把: D:\apache-tomcat-APP\conf\context.xml <Resource name=&q ...

  8. wamp2.5 配置Apache允许外网访问

    找到<Directory "e:/wamp/www/">节点,在里面添加Require all granted

  9. WAMP完整配置教程(启用php extensions、修改端口、允许外网访问、wamp绑定域名)。

    作为一名php爱好者,很希望自己的写的代码能够快速的在浏览器页面展现出来,wamp是一款集成很完善.很方便的软件,我刚开始研究的时候,会因为对于wamp的不熟悉,导致修改一点点配置就会在百度查好久,这 ...

随机推荐

  1. SpringBoot Maven项目 Helloworld 测试

    SpringBoot 化繁为简,简化配置 SpringBoot官方:http://projects.spring.io/spring-boot/SpringBoot使用介绍:http://blog.c ...

  2. 【论文 PPT】 【转】Human-level control through deep reinforcement learning(DQN)

    最近在学习强化学习的东西,在网上发现了一个关于DQN讲解的PPT,感觉很是不错,这里做下记录,具体出处不详. ============================================= ...

  3. Samsung_tiny4412(驱动笔记03)----字符设备驱动基本操作及调用流程

    /*********************************************************************************** * * 字符设备驱动基本操作及 ...

  4. Python之路PythonThread,第四篇,进程4

    python3  进程/线程4 进程间同步互斥方法: from multiprocessing import Lock 创建 进程锁对象 lock = Lock() lock.acquire()  给 ...

  5. 20155219 2016-2017-2 《Java程序设计》第5周学习总结

    20155219 2016-2017-2 <Java程序设计>第5周学习总结 教材学习内容总结 异常处理 语法与继承构架 异常就是程序在运行时出现的不正常情况.java中的错误以对象的方式 ...

  6. lesson7cnn architecture-fastai

    课程https://v.qq.com/x/page/e0398lijt8h.html 讲解: http://www.sohu.com/a/144583206_697750 resnet可以看作VGG1 ...

  7. 《DSP using MATLAB》Problem 5.8

    代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...

  8. shell dict 操作

    shell 读取文件,利用dict 合并第一列 . #!/bin/bash result_file="a" declare -A mydict total=`cat ${resul ...

  9. 日志分析-mime统计

    提取日志中未落入标准字段的mime,分adx,adtype 统计mime的数量和包含js的数量占比 require 'date' require 'net/http' require 'uri' re ...

  10. 00centos安装

    CentOS6.9及CentOS7.4的安装详细步骤 安装前的准备工作:1 VMware已经安装好2 镜像文件下载好(在这里,我用的是CentOS-6.9-x86_64-bin-DVD1.iso和Ce ...