Java,SQL数据库连接

时间:2013-03-21 15:59:44

标签: java sql sql-server sql-server-2008

我是C#开发人员,我对Java知之甚少,通常在C#中我想连接数据库时使用以下命令:

static SqlConnection cn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True");

我在MSDN中的java中读了一篇关于建立数据库连接(Sql Server 2008)的教程,说这个地址必须这样声明:

String connectionUrl = "jdbc:sqlserver://localhost:1433;" + "databaseName=JavaDB;user=UserName;password=*****";

我想如果有办法以C#的方式声明网址,我的意思是代替

"jdbc:sqlserver://localhost:1433;" 

我直接指向数据库

"AttachDbFilename=|DataDirectory|\Database.mdf;"

感谢

2 个答案:

答案 0 :(得分:1)

URL的第一部分由JDBC规范规定,因此所有驱动程序都将遵循jdbc:<vendor-identifier>:<vendor-specific-url>结构。

在Java中创建连接(至少通过java.sql.DriverManager)与创建连接的实际Driver实现无关(在C#中,您创建了类型化的特定于供应商的连接)。

第一部分jdbc:<vendor-identifier>用作选择机制,因此Driver可以快速决定是否接受URL。从技术上讲,多个驱动程序实现可以接受URL并创建连接。 <vendor-identifier>通常是数据库或公司的名称。

<vendor-specific-url>通常遵循正常的URL约定(MS SQL Server JDBC URL是一个例外)。

Microsoft JDBC驱动程序的格式为:

jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]

请参阅:Building the Connection URL

从技术上讲,Microsoft可能只允许其<vendor-specific-url>中的数据库名称,并暗示它使用localhost,但他们决定不这样做。

答案 1 :(得分:0)

SQL JDBC驱动程序的官方文档没有提到任何此类内容

http://msdn.microsoft.com/en-us/library/ms378428.aspx

http://msdn.microsoft.com/en-us/library/ms378672(v=sql.110).aspx

所以我认为这是不可能的