现在用JDBC连接出现问题。连接不上。而同样的程序在链接默认的实例名的SQL2000可以链上!
不知道有这方面经验的朋友可否告知如何写连接URL
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=ifax";
注意上面的 //localhost:1433;
在连接默认实例名的SQL2000 没有问题。现在我的SQL实例名为SQL2000如何修改URL
我式过在.net里面 直接在 server=localhost/SQL2000 直接将实例名加在localhost后面就行了。但 sqlserver://localhost:1433/SQL2000 sqlserver://localhost/SQL2000:1433;
这样式过均不行!
有知道的朋友麻烦告知!不慎感谢!
4 个解决方案
#1
端口有没冲突了?
#2
没有 SQL2000 和2005 均为默认端口 2000的端口 1433 2005的端口 1434
#3
问题是这样的,首先要明白jdbc的基本原理不是按照微软的实例名称连接方式进行数据连接的,而是走标准的tcp/ip协议,有兴趣的朋友可以自己去反编译jtds与sqlserver的jdbc驱动包。
因此,无论默认的还是非默认的数据库实例的连接必须按照标准的jdbc格式去书写,才能连接数据库。格式就是:
jdbc:microsoft:sqlserver://对应数据库非默认实例ip地址:对应数据库非默认实例占用端口; DatabaseName=ifax
上述格式在jtds与微软的官方驱动上有局部的写法不同之处,但是在:“://对应数据库非默认实例ip地址:对应数据库非默认实例占用端口”的部分,格式都是一样的,必须遵守tcp/ip协议。
上面的总结一下,就是说无论默认与非默认实例的实例名称,都绝对不能当作jdbc的参数来传递,tcp/ip协议不会按照微软的实例名称连接法进行连接。
因此,无论默认的还是非默认的数据库实例的连接必须按照标准的jdbc格式去书写,才能连接数据库。格式就是:
jdbc:microsoft:sqlserver://对应数据库非默认实例ip地址:对应数据库非默认实例占用端口; DatabaseName=ifax
上述格式在jtds与微软的官方驱动上有局部的写法不同之处,但是在:“://对应数据库非默认实例ip地址:对应数据库非默认实例占用端口”的部分,格式都是一样的,必须遵守tcp/ip协议。
上面的总结一下,就是说无论默认与非默认实例的实例名称,都绝对不能当作jdbc的参数来传递,tcp/ip协议不会按照微软的实例名称连接法进行连接。
#4
问题是这样的,首先要明白jdbc的基本原理不是按照微软的实例名称连接方式进行数据连接的,而是走标准的tcp/ip协议,有兴趣的朋友可以自己去反编译jtds与sqlserver的jdbc驱动包。
因此,无论默认的还是非默认的数据库实例的连接必须按照标准的jdbc格式去书写,才能连接数据库。格式就是:
jdbc:microsoft:sqlserver://对应数据库非默认实例ip地址:对应数据库非默认实例占用端口; DatabaseName=ifax
上述格式在jtds与微软的官方驱动上有局部的写法不同之处,但是在:“://对应数据库非默认实例ip地址:对应数据库非默认实例占用端口”的部分,格式都是一样的,必须遵守tcp/ip协议。
上面的总结一下,就是说无论默认与非默认实例的实例名称,都绝对不能当作jdbc的参数来传递,tcp/ip协议不会按照微软的实例名称连接法进行连接。
因此,无论默认的还是非默认的数据库实例的连接必须按照标准的jdbc格式去书写,才能连接数据库。格式就是:
jdbc:microsoft:sqlserver://对应数据库非默认实例ip地址:对应数据库非默认实例占用端口; DatabaseName=ifax
上述格式在jtds与微软的官方驱动上有局部的写法不同之处,但是在:“://对应数据库非默认实例ip地址:对应数据库非默认实例占用端口”的部分,格式都是一样的,必须遵守tcp/ip协议。
上面的总结一下,就是说无论默认与非默认实例的实例名称,都绝对不能当作jdbc的参数来传递,tcp/ip协议不会按照微软的实例名称连接法进行连接。
#1
端口有没冲突了?
#2
没有 SQL2000 和2005 均为默认端口 2000的端口 1433 2005的端口 1434
#3
问题是这样的,首先要明白jdbc的基本原理不是按照微软的实例名称连接方式进行数据连接的,而是走标准的tcp/ip协议,有兴趣的朋友可以自己去反编译jtds与sqlserver的jdbc驱动包。
因此,无论默认的还是非默认的数据库实例的连接必须按照标准的jdbc格式去书写,才能连接数据库。格式就是:
jdbc:microsoft:sqlserver://对应数据库非默认实例ip地址:对应数据库非默认实例占用端口; DatabaseName=ifax
上述格式在jtds与微软的官方驱动上有局部的写法不同之处,但是在:“://对应数据库非默认实例ip地址:对应数据库非默认实例占用端口”的部分,格式都是一样的,必须遵守tcp/ip协议。
上面的总结一下,就是说无论默认与非默认实例的实例名称,都绝对不能当作jdbc的参数来传递,tcp/ip协议不会按照微软的实例名称连接法进行连接。
因此,无论默认的还是非默认的数据库实例的连接必须按照标准的jdbc格式去书写,才能连接数据库。格式就是:
jdbc:microsoft:sqlserver://对应数据库非默认实例ip地址:对应数据库非默认实例占用端口; DatabaseName=ifax
上述格式在jtds与微软的官方驱动上有局部的写法不同之处,但是在:“://对应数据库非默认实例ip地址:对应数据库非默认实例占用端口”的部分,格式都是一样的,必须遵守tcp/ip协议。
上面的总结一下,就是说无论默认与非默认实例的实例名称,都绝对不能当作jdbc的参数来传递,tcp/ip协议不会按照微软的实例名称连接法进行连接。
#4
问题是这样的,首先要明白jdbc的基本原理不是按照微软的实例名称连接方式进行数据连接的,而是走标准的tcp/ip协议,有兴趣的朋友可以自己去反编译jtds与sqlserver的jdbc驱动包。
因此,无论默认的还是非默认的数据库实例的连接必须按照标准的jdbc格式去书写,才能连接数据库。格式就是:
jdbc:microsoft:sqlserver://对应数据库非默认实例ip地址:对应数据库非默认实例占用端口; DatabaseName=ifax
上述格式在jtds与微软的官方驱动上有局部的写法不同之处,但是在:“://对应数据库非默认实例ip地址:对应数据库非默认实例占用端口”的部分,格式都是一样的,必须遵守tcp/ip协议。
上面的总结一下,就是说无论默认与非默认实例的实例名称,都绝对不能当作jdbc的参数来传递,tcp/ip协议不会按照微软的实例名称连接法进行连接。
因此,无论默认的还是非默认的数据库实例的连接必须按照标准的jdbc格式去书写,才能连接数据库。格式就是:
jdbc:microsoft:sqlserver://对应数据库非默认实例ip地址:对应数据库非默认实例占用端口; DatabaseName=ifax
上述格式在jtds与微软的官方驱动上有局部的写法不同之处,但是在:“://对应数据库非默认实例ip地址:对应数据库非默认实例占用端口”的部分,格式都是一样的,必须遵守tcp/ip协议。
上面的总结一下,就是说无论默认与非默认实例的实例名称,都绝对不能当作jdbc的参数来传递,tcp/ip协议不会按照微软的实例名称连接法进行连接。