南河有很长的航道属河湖不分,即以自然湖泊为航道,漕船穿湖航行。但是,湖大、风急、浪高,常有舟船覆没。为防止湖浪翻船,起初,明朝在宝应老人柏丛桂的建议下,决定修建护船湖堤,另穿航道。较早的一次工程实施于洪武九年(公元1376年),当时发淮扬丁夫五万,“筑高邮湖堤二十余里,开宝应倚湖直渠四十里,筑堤护之。”(《明史·河渠志三》)既在高邮湖中筑堤防浪,保护粮船从堤旁通航;又在宝应湖旁开渠,并在湖渠之间筑堤护渠。宣德年间(公元1426—1435年),陈瑄主持河运工程时,又把这项工程扩展到白马、氾光等湖(图4)。
在较好地解决河运连接问题的同时,陈瑄也比较妥善地处理了江运间的通航问题。本来运河只有一口入江,后来,由于长江北岸泥沙的堆积,旧口渐淤,只好又开新口。到明朝,实际上形成了多个通江运口,如仪真(今仪征)运口、瓜洲运口、白塔河口、北新河口等。江运间多口相通,虽有维修工作繁重、容易泄水等缺陷,但优点也不少。一是当时运河已颇繁忙,过往舟船很多,多口出入可以避免拥挤。二是各地来船可以就近入运,既缩短运道,又减少江上风险。如从长江中上游来船,可进最西面的仪真运口;从太湖流域取道镇江北上的漕船,可入瓜洲运口,来自太湖流域取道孟渎或德胜新河的粮船,渡江便可进入白塔河和北新河。陈瑄等对于这些运口,基本上都加以治理,如疏浚港道,建筑水坝和闸门等。在运口修建闸门,工程比较复杂,但它便于舟船进出;在长江水位下降时,可以关闸防止运河水量流失;在长江涌潮水位提高时,可以开闸引水。
除南北两端外,明朝对南河的河道,也进行大规模的整治,主要的工程是建湖堤、穿月河等,逐步使湖运分离。
这种护运湖堤为砖土结构,抗御风浪的性能较差,虽有保护漕船的作用,但其本身极易被风浪摧毁,维修任务十分繁重。为了改变这种情况,于是弘治年间(公元1488—1505年),在户部侍郎白昂主持下,复河(月河或越河)工程开始修建。他主持穿凿的这条复河叫康济河,长40里,西距高邮湖数里,在旧渠之东,引湖水为水源。由于离湖较远,风浪不及,比较安全。继白昂之后,万历十三年(公元1585年),采纳总漕都御史李世达建议,又在宝应湖东穿弘济月河,长1700余丈。接着刘东星也在万历二十八年(公元1600年),在邵伯、界首两湖的东面,分别凿成邵伯月河和界首月河。前者长18里,宽18丈多,后者长12里多。经过这一系列工程,南河航道,基本上摆脱了湖浪的威胁。
自元朝到明初,这段运河都在淮安城北与河淮合槽连接。平时运河水位高,黄河水位低,运河水量容易流失。黄河汛期,水位黄河高运河低,黄河的洪水和泥沙,又容易冲积运河河道。明朝初年,当陈瑄继宋礼负责治理河运时,在河运交接处,并排修建以仁、义、礼、智、信命名的五坝,以防止运河水量流失和黄河洪沙涌入。当时所以建坝五座,旨在便于舟船分散盘坝,以减少等候时间。以后,又因盘坝毕竟费工、费时,陈瑄又在当地故老指点下,重开宋朝沙河故道,并在道上每隔10里左右修一闸门,共修五闸。舟楫进出河运,改走此道,舟来开闸,船去立即关闭,既便捷,又无运河水量流失、黄河洪沙内灌的问题。
从春秋末年起,江、淮之间一直有运河沟通。这条运河南起今日扬州市,北到今日清江市。它在历史上曾相继被称为邗沟、中渎水、山阳渎、扬楚运河、淮扬运河、淮南河等,明朝称南河。由于它也是南粮北运的必经孔道,而又存在着许多问题,所以也是明清时期治理的主要对象之一。