2012-07-26 71 views
1

我试图在我的Coldfusion安装中使用第三方JDBC驱动程序,但是我在某处出错了,而且我不完全确定它在哪里。在Coldfusion中使用第三方JDBC驱动程序?

我将.jar文件放在cfusion \ wwwroot以及WEB-INF \ lib中,但没有将它添加到我的数据源中,因为我不完全确定是否必须/是一个本地文件。

然后,我test.cfm文件中添加以下代码:

<cfset objDriver = createObject("java","java.sql.DriverManager")> 
<cfset prop = createObject("java","java.util.Properties").init()> 

<cfset prop.put("prop1", "prop1")> 
<cfset prop.put("prop2", "prop2")> 
<cfset prop.put("prop3", "prop3")> 

<cfset conn = objDriver.getConnection("jdbc:mydriver:", prop) > 

我验证了在Java性能和连接做工精细,所以这不是问题PerSay的,但是当我去该页面getConnection()上出现以下错误:

No suitable driver found for jdbc:mydriver: 

我想知道我是否错过了明显或愚蠢的东西。

+5

不要这么做。添加一个数据源并使用cfquery/cfstoredproc。 – 2012-07-26 18:19:18

+0

[This page](http://help.adobe.com/en_US/ColdFusion/9.0/Admin/WSc3ff6d0ea77859461172e0811cbf3639b1-7fe6.html)表示在“配置和管理ColdFusion”中有一章... – 2012-07-26 18:21:01

+0

谢谢,不是某些为什么我想要使用Java ...一直以来我做了任何ColdFusion – doyler 2012-07-26 20:00:52

回答

8

我会将它添加到数据源中。否则,你将最终编写丑陋的Java代码来“绕过”驱动程序。

要添加到DSN使用“其他”数据源并添加一个“连接字符串”。这些对驱动程序是特定的,您应该有一些与您下载的驱动程序相关的示例。它们是一个很好的起点。

您可以通过检查CF安装的/ lib目录中的“neo-datasources.xml”文件来查看您添加的其他数据源的字符串。

您需要确保驱动程序位于旧版CF上的CF安装(不同于WEB-INF/Lib)的/ lib目录中 - 不确定CF 10.您还需要重新启动CF把它放入目录后。

或者,您可以通过编辑jvm配置文件将文件添加到类路径中。

+0

谢谢,我已经完成了所有设置,现在我只需要连接工作,出于某种原因我无法获得我的属性作为连接字符串工作(1是用户,1是密码,它与标准属性一起工作,但第三个是AccessKey,似乎不想采取)。只要目录10似乎满意于WEB-INF/Lib – doyler 2012-07-26 20:01:53

+0

连接字符串因驱动程序而异。你在用什么驱动程序?它是否有公共API? – Leigh 2012-07-26 20:13:19

+0

不幸的是,我使用了一个并不真正拥有公共API的内部程序,但是我使用以下代码在Java中使用它: Properties prop = new Properties(); prop.put(“AccessToken”,“accesstoken”); prop.put(“用户”,“用户”); (“密码”,“密码”); prop.put conn = DriverManager.getConnection(“jdbc:mydriver:”,prop); 但我不确定我在做什么错尝试添加AccessKey ... – doyler 2012-07-26 20:20:16