C# 有没有办法在不启用TCP的情况下使用JDBC连接到本地MS SQL?

C# 有没有办法在不启用TCP的情况下使用JDBC连接到本地MS SQL?,c#,.net,sql-server,jdbc,C#,.net,Sql Server,Jdbc,背景:我的本地MS SQL数据库配置如下: 使用.Net连接到本地数据库时,我不需要在SQL Server Configuration Manager中启用TCP连接,也不需要在连接字符串中指定端口号。我只需要把这个放到app.config中 <add name="MyDatabase" connectionString="Initial Catalog=MyDatabase;Data Source=localhost\SQLEXPRESS;Integrated Security=SSP

背景:我的本地MS SQL数据库配置如下:

使用.Net连接到本地数据库时,我不需要在SQL Server Configuration Manager中启用TCP连接,也不需要在连接字符串中指定端口号。我只需要把这个放到app.config中

<add name="MyDatabase" connectionString="Initial Catalog=MyDatabase;Data Source=localhost\SQLEXPRESS;Integrated Security=SSPI;"/>


但是,我必须启用TCP才能使用JDBC连接到它。我想知道是否有办法绕过它?

Microsoft SQL Server JDBC驱动程序是一种类型4(纯Java)实现,它只支持TCP/IP套接字与SQL Server通信,因此需要在服务器实例上启用TCP/IP。没有一种变通方法可以神奇地让你以其他方式连接


正如vasily.sib的注释所示,您可以切换到支持命名管道的jTDS。另见。请注意,jTDS在支持较新的SQL Server版本和较新的JDBC规范方面比较落后。

如果你想了解java,为什么会有
C
.Net
标记?另外,在谷歌搜索了3.52秒后,我发现@vasily.sib这个链接并没有真正解决这个问题。好的,另一个搜索(“jdbc命名管道”),并发现.Net使用共享内存连接到SQL server。很遗憾,我找不到任何支持此协议的SQL server jdbc驱动程序。我的目的是在使用jdbc时避免启用其他协议(默认情况下仅启用共享内存).既然在这种情况下不可能,我宁愿使用TCP而不是命名管道。