1

我很难将我的 java 代码连接到 sql server 数据库。我可以很好地从应用服务器连接..但现在我想尝试与图片之外的应用服务器连接并使用InitialContext一些 env 属性。所以一个独立的java类使用连接到sql serverInitialContext

我的项目库中有 mssqlserver.jar。我还需要其他罐子吗?

我四处寻找一些代码示例,但不知道要输入什么Context.INITIAL_CONTEXT_FACTORY

Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "what do i put here?");
env.put("java.naming.factory.initial",
"what do i put here?");
...
what other properties would I need?

在应用服务器上,我有以下属性。

datasourceName = mydb
user = myuser
port = 1433
password = mypwd
databaseName = mydb
servername = localhost
4

3 回答 3

1

你不是在正确的轨道上。InitialContext 严格来说是关于应用程序服务器的。为了在没有应用程序服务器的情况下直接连接到数据库,您必须创建自己的到数据库的 JDBC 连接,或者使用不同的 JDBC 连接池实现。

于 2009-11-09T17:02:01.670 回答
0

首先,你为什么不直接使用DriverManager#getConnection()这个?在(简单的)客户端应用程序中实现和使用 JNDI 需要付出太多努力,但收效甚微。

一个普通的应用程序服务器附带它自己的 JNDI 实现,因此您完全不必担心自己创建/定义/配置一个。

如果您真的想在客户端应用程序中使用 JNDI,请从这里开始。祝你好运。

于 2009-11-09T17:03:08.917 回答
0

您可能会发现查阅JDBC 教程很有帮助,您会发现可以使用 DriverManager 来获取连接。您熟悉的 JNDI 方法是一种很好的通用抽象,用于访问 AppServer 环境中提供的各种服务。对于独立应用程序,通常只使用原始 API。

于 2009-11-09T17:05:27.000 回答