首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JDBC (jTDS)和Mac with Xcode4.3

JDBC (jTDS)和Mac with Xcode4.3
EN

Stack Overflow用户
提问于 2012-03-24 02:58:21
回答 2查看 1.3K关注 0票数 1

我是一个新的Mac OSX应用程序开发人员,正在学习Xcode和OSX开发的变幻莫测。如果你愿意,跳过这一段的其余部分,跳到下一段。这只是一个小小的背景--在过去的30年里,我一直以这样或那样的方式在计算机领域工作,我是一名软件开发人员,有25年之久。我正在从Windows开发工具过渡到OSX。

好的-我正在写一个简单的(?)OSX应用程序,将在Mac迷你服务器上运行。该服务器将充当iPad iOS应用程序和Windows Server2008上基于Windows的MS SQL server数据库之间的“中间件”,

我决定使用SourceForge的jTDS驱动程序。我下载了SQL应用程序,它允许你选择SQuirreL驱动程序,设置必要的参数,并连接到数据库。像冠军一样工作!我想对我的应用程序做同样的事情,但我不知道如何在我的应用程序中包含.jar文件,然后加载和运行它。如果您能提供适当的文档,特别是源代码示例,我将非常感激。有一个doc文件是关于在Xcode中使用Java ODBC驱动程序的,但它已经过时了,不再适用于Xcode的当前版本。

任何帮助都将不胜感激,尤其是源代码示例。TIA并向所有纽约的OSX开发人员致以最好的问候。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-24 07:18:07

您可以在Java中装入一个类,而不需要将它放在(初始)类路径中。

您需要使用相关的.jar文件创建一个URLClassloader,加载该类并创建一个新实例。然后,您可以使用该实例创建新的连接。

就像这样

代码语言:javascript
复制
URL[] libs = new URL[1];
File jarFile = new File("/path/to/jtds.jar");
libs[0] = jarFile.toURI().toURL();

URLClassLoader loader = new URLClassLoader(libs, ClassLoader.getSystemClassLoader()); 

Class drvClass = this.classLoader.loadClass("net.sourceforge.jtds.jdbc.Driver");

Driver drv = (Driver)drvClass.newInstance();
Properties props = new Properties();
props.put("user", "my_db_user");
props.put("password", "very_secret_password");

Connection con = drv.connect("jdbc:jtds:sqlserver://someserver", props);

作为另一种选择,我认为您也可以向DriverManager注册实例,然后调用DriverManager.getConnection()。但我不能完全确定这是否有效。直接在驱动程序实例上调用connect()肯定是有效的。

票数 0
EN

Stack Overflow用户

发布于 2012-03-24 03:13:19

它在SQL Squirrel中工作,因为您将JAR放在它的/lib目录中并启动它。SQL Squirrel是一个Java Swing应用程序。它假设其/lib目录中的所有JAR都在CLASSPATH中,因此当Java JVM启动时,它会找到jTDS驱动程序JAR和Bob的your叔叔。

您必须对X-code执行类似的操作:告诉它在哪里可以找到第三方JAR,并将jTDS JAR放在那里。

在一个细节上我有点困惑:您编写了"Java ODBC驱动程序“。你指的是"Java JDBC驱动程序“吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9844990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档