Eri*_*son 5 java sql-server datasource
我正在尝试按照Java的JDBC教程编写一个可以连接到SQL Server 2008的Java程序.我在建立连接时迷路了.
以下代码片段来自教程:
InitialContext ic = new InitialContext();
DataSource ds = ic.lookup("java:comp/env/jdbc/myDB");
Connection con = ds.getConnection();
DataSource ds = (DataSource) org.apache.derby.jdbc.ClientDataSource()
ds.setPort(1527);
ds.setHost("localhost");
ds.setUser("APP")
ds.setPassword("APP");
Connection con = ds.getConnection();
Run Code Online (Sandbox Code Playgroud)
没有解释comp/env/jdbc/myDB应该指向什么,我不知道应该如何选择端口.此外,对象ds似乎被定义了两次.
我正在使用JSQLDataSource驱动程序,以备记录.任何人都能指出我在正确的方向吗?
http://java.sun.com/docs/books/tutorial/jdbc/basics/connecting.html
Jon*_*Raa 11
我不确定上面有人真的回答了这个问题.
我发现这个微软样本很有用.
那里的关键信息实际上是你需要的类是SQLServerDataSource ,它基本上是一个配置对象 - 你使用它是这样的:
SQLServerDataSource dataSource = new SQLServerDataSource();
dataSource.setUser("aUser");
dataSource.setPassword("password");
dataSource.setServerName("hostname");
dataSource.setDatabaseName("db");
Run Code Online (Sandbox Code Playgroud)
然后你会打电话
dataSource.getConnection();
Run Code Online (Sandbox Code Playgroud)
获取一个连接对象,它基本上就是你用来与数据库通信的东西.
使用
connection.prepareStatement("some sql with ? substitutions");
Run Code Online (Sandbox Code Playgroud)
制作一些用于解雇sql的东西:
connection.prepareCall
Run Code Online (Sandbox Code Playgroud)
用于调用存储过程.
duf*_*ymo 10
还有这个:
String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
Class.forName(driver);
String url = "jdbc:microsoft:sqlserver://host:1433/database";
Connection conn = DriverManager.getConnection(url, "username", "password");
Run Code Online (Sandbox Code Playgroud)
填写主机,数据库,用户名和密码的值.SQL Server的默认端口是1433.
更新:下面的好点.可以从Microsoft和jTDS获得JDBC驱动程序.我更喜欢后者.
JNDI查找与支持连接池的Java EE应用程序服务器有关.您可以要求应用服务器创建一个连接池,这可能是一件昂贵的事情,并根据需要将它们借给图书馆书籍等客户端.
如果您不使用Java EE应用程序服务器或连接池,则必须自己创建连接.这就是手动流程和DriverManager的用武之地.
解释:至于为什么Sun教程会显示DataSource两次,我会说这是一个编辑不好的情况.如果您查看代码示例上方,则表示您可以"通过查找或手动"获取DataSource.下面的代码片段显示了它们在一起时,它应该是一个或另一个.
你知道这是一个无意的错误,因为编写的代码无法编译.你有两次声明"ds".
所以它应该是"... lookup",然后是它的代码片段,然后是"... manual",然后是它的代码片段.
| 归档时间: |
|
| 查看次数: |
46141 次 |
| 最近记录: |