1

我是 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# 中那样声明 url,我的意思是而不是

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

我直接指向数据库

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

谢谢

4

2 回答 2

1

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

在 Java 中创建连接(至少 via 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]]

请参阅:构建连接 URL

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

于 2013-03-21T16:29:58.087 回答
0

SQL JDBC驱动的官方文档没有提到任何这样的事情

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

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

所以我认为这是不可能的

于 2013-03-21T16:06:47.107 回答