查找某个程序占用的端口

本文介绍了使用JDBC连接数据库时遇到端口问题的解决方案,包括修改端口号和查看动态端口的方法。通过运行特定命令,用户可以找到SQL Server服务的端口号,从而正确配置JDBC连接。此外,文章还提供了详细的步骤说明,帮助用户快速定位和解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天没事,自己准备学习下jdbc,做了个小小的例子来练习下,可是就在我执行下边语句的时候,查询所有数据,并且显示在控制台的时候,竟然报错 ,是建立数据库连接的那一行,怎么也找不到为什么,最后查看 sql配置管理器,竟然打不开,问了别人,算是高手吧,然后他帮我远程看了下,找了很久才找到我的sql端口号,竟然是1113,然后将那个  localhost: 1433  这句改成localhost: 1113 之后就可以了。



import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
import java.util.*;


public class conn {
           
                 public static void main(String[] args) throws Exception {
                    
                     Connection conn=null;
                    
                    // 加载数据库连接驱动
                         Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
                        
                        // 建立连接
                           conn=DriverManager.getConnection
                           ("jdbc:sqlserver://localhost: 1433;DatabaseName=city","sa","123");
                           
                      // 创建预编译的SQL语句
                         PreparedStatement prt=conn.prepareStatement("select * from Provincial");
                         
                      // 执行查询,获取结果集
                         ResultSet rs=prt.executeQuery();
                         
                      // 遍历结果集
                          while (rs.next()) {
                              // 获取每条数据
                              int id = rs.getInt("cityId");
                              String name = rs.getString("cityName");
                              String code = rs.getString("citycode");
                              Date time = rs.getDate("time");
                              
                              System.out.println(id + "\t" + name + "\t" + code + "\t" + time);
                          }
                         
                     }
}



之后他教我怎么查看动态端口,然后我按照他说的步骤,练习了下的确可以,我说说步骤,下次好方便查看,首先说好我的是XP系统,我那个朋友是 win7的。

首先 打开运行 输入 “cmd”,   然后输入“ cd c:\windows\system32 ”,回车,再输入 “ netstat -ano > D:\a.txt ”  ,打开D盘会看到一个  “ a.txt ”  ,

接着打开   任务管理器  ,找到  “sqlserver.exe ”,看它的 PID ,我这里现在是1840 ,在刚才那个a.txt里面找到这个1840 ,然后看看   Local Address   最后几位是多少,就可以了,我刚找到的是1112,然后我在程序里面改成1112,竟然也可以,我那个朋友找到的是1113,这两个都可以,真是很奇怪,不找到大家是否遇到过这种事情。好了步骤就这么多,下次还要自己重新找真是麻烦。


### 如何使用 `netstat` 查找某个进程对应的端口号 在 Windows 系统中,可以通过 `netstat` 命令结合其他工具来查找与特定进程关联的端口号。以下是具体方法: #### 使用 `netstat` 和 `-o` 参数 `netstat` 是一个强大的命令行工具,能够显示网络连接的状态以及相关的进程 ID (PID)[^2]。为了查看哪些端口哪个进程占用,可以执行以下命令: ```bash netstat -ano ``` 这条命令会列出所有的活动连接及其状态,并附带每个连接所对应的 PID[^3]。 #### 过滤指定进程的信息 如果已知目标进程的名字或者其 PID,则可进一步缩小范围。例如,假设要查找 PID 为 **1234** 的进程所使用的端口,可以在上述基础上加上过滤条件: ```bash netstat -ano | findstr ":.* 1234" ``` 这里利用了 `findstr` 来匹配包含该 PID 的记录[^1]。 #### 验证进程名称 有时只知道部分关键字而不确定确切的进程名时,还可以借助 `tasklist` 命令配合模糊查询功能获取更精确的结果。比如寻找名字中含有 “dsa”的所有进程并连同它们各自的 PID 显示出来: ```bash tasklist /FI "IMAGENAME eq dsa*" /FO TABLE /NH ``` 最后一步就是综合以上两步操作得出最终结论——即某给定的应用程序正在监听哪一个具体的 TCP/UDP port number 上面等待客户端请求到来[^4]。 ### 示例代码展示整个流程 下面给出一段完整的批处理脚本实现自动化这一过程: ```batch @echo off setlocal enabledelayedexpansion :: Step A: Input Process Name or Partial String To Search For set /p procName="Enter process name/partial string to search for: " :: Step B: Get Matching Processes With Their PIDs Using TaskList Command for /f "tokens=2 delims=," %%i in ('"tasklist ^| findstr %procName%"') do ( set pid=%%i :: Step C: Use NetStat And FindStr Commands Together To Locate Ports Used By The Given PID echo Checking ports used by PID !pid!... netstat -ano | findstr "!pid!" ) endlocal pause ``` 注意:这段脚本只是一个简单的例子,在实际部署前可能需要根据环境调整参数设置。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值