刚刚写了个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. python 实现 KNN 分类器——手写识别

    1 算法概述 1.1 优劣 优点:进度高,对异常值不敏感,无数据输入假定 缺点:计算复杂度高,空间复杂度高 应用:主要用于文本分类,相似推荐 适用数据范围:数值型和标称型 1.2 算法伪代码 (1)计 ...

  2. youtube-dl 使用小记

    0.官网地址 youtube-dl官网:https://yt-dl.org/项目地址:https://github.com/rg3/youtube-dl 1.文档简略翻译,具体请以官方文档为准 Usa ...

  3. jQuery的文件引入、入口函数以及js对象和jquery对象之间的互相转换

    JavaScript与jquery的区别 JavaScript是一门编程语言,用来编写客户端浏览器脚本. jQuery是javascript的一个库,包含多个可重用的函数,用来辅助简化javascri ...

  4. 海康抓拍机SDK开发

    前言 项目采购的海康威视的抓拍机,需要首先获取抓拍图片,之后基于抓拍图片进行图像处理.本文基于海康SDK开发文档,按照开发步骤,咨询海康技术人员,现将开发过程记录如下. 主要过程的c++代码: /** ...

  5. Unity镜子效果的实现(无需镜子Shader)

    Unity镜子效果制作教程 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享. ...

  6. js获取当前时间戳的三个方法

    var time1 = Date.parse(new Date()); var time2 = new Date().valueOf(); var time3 = new Date().getTime ...

  7. oracle ZHS16GBK的数据库导入到字符集为AL32UTF8的数据库(转载+自己经验总结)

    字符集子集向其超集转换是可行的,如此例 ZHS16GBK转换为AL32UTF8. 导出使用的字符集将会记录在导出文件中,当文件导入时,将会检查导出时使用的字符集设置,如果这个字符集不同于导入客户端的N ...

  8. LG5056 【模板】插头dp

    题意 题目背景 ural 1519 陈丹琦<基于连通性状态压缩的动态规划问题>中的例题 题目描述 给出n*m的方格,有些格子不能铺线,其它格子必须铺,形成一个闭合回路.问有多少种铺法? 输 ...

  9. Centos6.7 64位安装配置kvm虚拟化

    首先,需要我们的cpu支持虚拟化,有的机器支持但是并未在bios开启,这个需要事先开启. 1. Dell R710安装centos6.7 64位 ,Dell R710在开机后按F2进入BIOS,Pro ...

  10. 解决GitHub下载速度比较慢

    第一步,打开本机上的Hosts文件 首先,什么是Hosts文件? 在互联网协议中,host表示能够同其他机器互相访问的本地计算机.一台本地机有唯一标志代码,同网络掩码一起组成IP地址,如果通过点到点协 ...