问题标签 [jtds]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2285 浏览

jtds - 加载了错误的驱动程序

我正在尝试通过使用 jdbc 的 jtds1.2.jar 实现并在其上运行存储过程来连接到 sqlServer 2008。 我写了一个测试应用程序,它成功地做到了

我在自己的环境(不是应用程序服务器环境)中这样做有问题。我正在使用 java 1.4。我将我的类路径设置为首先查看 jtds。调用方法 DriverManager.getConnection... 时,源代码不是 jtds 源代码。这是我的代码(与示例中的代码相同):

在调试中:myEnum 有 2 个驱动程序:

  1. sun.jdbc.odbc.jdbcodbcdriver

  2. jtds 驱动程序

我很害怕 DriverManger 加载了第一个。

如何确保加载 jtds 驱动程序?

非常感谢

0 投票
2 回答
13646 浏览

hibernate - 使用 Hibernate 的 SQLExpress 数据库的连接 URl

我正在使用jtds驱动程序使用 Hibernate 在本地连接到 SQL Server

我可以使用服务器名称连接到服务器:COMP6\SQLEXPRESS

下面是我在 hibernate.cfg 中的连接属性

整个堆栈跟踪

0 投票
3 回答
23578 浏览

sql-server - JTDS 驱动程序不适用于 Sql Server 2008R2 和 Denali Native SSPI 库未加载。检查 java.library.path 系统属性

我正在尝试使用 Windows 身份验证从我的应用程序使用 JTDS 驱动程序连接 Sql Server 数据库,但出现以下错误

SSO 失败:未加载本机 SSPI 库。检查 java.library.path 系统属性。

以下是我试图解决但仍然缺少某些内容的场景。

  1. 我在系统目录中添加了 ntlmauth.dll,它适用于 Sql server 2005。
  2. 但是我为 Sql Server 2008 R2 和 Denali 尝试过同样的事情,但它给了我与上面提到的相同的错误
  3. 我也考虑了一下,我的意思是我从系统目录中的 x64\SSO\ 路径复制了 ntlmauth.dll。

我很困惑为什么这不适用于 Sql Server 2008 R2 和 Denali。

0 投票
2 回答
9382 浏览

java - 使用不同的 jdbc 驱动程序连接到多个数据库

我需要编写一个基于守护程序的 Java 进程(不是基于 Web),它将连接到 Oracle 10G 数据库,从中读取一些数据,然后连接到 SQL Server 数据库并将数据写入表。

听起来很简单,但我对此有几个疑问。

  • 我需要有两个 jdbc 驱动程序,即一个用于连接到 Oracle 数据库,另一个用于连接到 sql server 数据库。sql server jdbc 驱动程序是 jtds jdbc 驱动程序(http://jtds.sourceforge.net/),对于 Oracle,我将使用标准的 oracle jdbc 驱动程序。我是否可能会同时遇到类路径中可用的两个驱动程序的任何问题?

  • 我的猜测是,我只需要一个 ConnectionManager 类来管理连接和一个客户端 DAO 类,该类将调用相关方法来获取所需的连接,具体取决于它是从 Oracle 读取还是写入 SQL Server。这是一种合理的方法还是有更好的设计/模式?

编辑

好的,我试图组合一个快速的设计解决方案。见下图

我认为我遇到的问题是如何提交。下面是处理流程

  • InvoiceBD 从工厂类获取 Oracle 连接,并调用 InvoiceUploadDAO.readData 将 Oracle 连接对象传递给它。
  • InvoiceBD 从工厂类获取 SQL Server 连接并调用 InvoiceUploadDAO.writeData 将 SQL Server 连接对象传递给它。
  • InvoiceBD 重用 Oracle 连接来调用 InvoiceUploadDAO.update 状态为 Oracle 数据库上的“完成”设置状态。

InvoiceBD 提交 Oracle 连接。InvoiceBD 提交 SQL Server 连接。

或者,如果出现问题,两个连接对象都会回滚。

那个听起来是对的吗?

谢谢

0 投票
3 回答
18328 浏览

java - SQL Server“超过锁定请求超时时间”..再次

我在尝试延长 sql server SP 中的锁定超时时遇到问题。无论我尝试什么,它都会不断抛出“超过锁定请求超时期限”。我正在使用 java + jtds 1.2.2、c3p0 0.9.1 和 sql server 2008。我尝试的设置:

SET LOCK_TIMEOUT 10000 inside the SP and with con.createStatement().execute("SET LOCK_TIMEOUT 10000 ")在调用 SP 之前。并在 SP 语句中: statement.setQueryTimeout(10);

SP 由 : s 调用tatement = con.prepareCall("dbo.store_procedure ?,?,?", ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); ,它在内部设置“SET TRANSACTION ISOLATION LEVEL REPEATABLE READ”

有什么建议吗?有类似问题的人吗?提前致谢

0 投票
2 回答
2610 浏览

sql - 具有绝对路径的 JTDS(到 Access MDB 文件的 JDBC 连接)

我花了很多时间寻找解决方案,尝试了谷歌,BING ,尝试了 JTDS 社区但没有解决方案,或者我没有足够的搜索,但这是我的情况:

我的项目中有 JTDS 库,并且想要连接到位于本地文件夹 (C:\path\to\databasefile.mdb) 的本地 MDB 数据库文件,但我看到的只是我需要以下连接字符串:

我想使用这样的东西:

可能吗?

0 投票
1 回答
727 浏览

java - 是否需要在 JTDS 中启用“keepalive”以提高性能?

在 JTDS 中启用“keepalive”配置后性能会提高多少?我今天查看了jtds 文档,发现了一个以前从未注意到的有趣配置“sockekeepalive”。你在当地测试过性能效果吗?由于默认值为“false”,我想在实际生产环境中使用“keepalive”可能会有一些开销。

谢谢你的建议!

万斯

0 投票
1 回答
460 浏览

java - 我可以在已经打开的 JTDS 连接上更改“appName”吗?

我正在寻找一种将 Web 应用程序事务信息传递到底层数据库进程的方法。在我的 Java 代码中,我可能有一个事务方法 ReservationService#search(),它运行一个或多个 SQL。在 DBMS 上,我只看到一个 SPID 和一些锁。我正在寻找一种将标签“ReservationService#search”添加到数据库进程的方法。

jTDS / Sybase ASE 有一个可以作为连接属性传入的 appName。由于我们使用的是连接池,因此会重新使用现有连接,但据我所知,appName 仅在建立新连接时才会读取。

如何在已经存在的连接上重新设置 appName(不关闭/打开)?或者,如果这根本不可能,是否还有其他想法可以将事务上下文信息从 Java 获取到 DBMS?

  • Tomcat Web 应用程序 (Java 6)
  • C3P0 连接池(仅支持 JDBC 3)
  • jTDS 连接到 Sybase ASE 15

谢谢西蒙

0 投票
4 回答
10710 浏览

jdbc - 使用带有 sqljdbc.jar 的 Windows 身份验证

SQL SERVER数据库可以使用windows认证方式,同时使用微软提供的JDBC驱动吗?

我正在使用 sqljdbc.jar .. SQLJdbcVersion 类文件包含以下内容:

任何意见?

sqljdbc不能使用windows认证有什么原因吗?

我正在使用 Websphere 应用程序服务器 7 并运行一个 j2ee 应用程序。数据源是在 WAS 本身中创建的。

谢谢

0 投票
0 回答
54598 浏览

java - SQL Server 2008 的 JDBC 驱动程序列表(比较)

我正在评估一整套 JDBC 驱动程序,特别是与带有 Windows 身份验证的 SQL Server 2008 一起使用。我收集了一份我找到的清单,并在下面列出了它们。

我的问题是,是否还有其他与 SQL Server 2008 兼容的 JDBC 驱动程序我也应该考虑审查?

  1. 微软 JDBC 驱动程序

    网址:http: //msdn.microsoft.com/en-us/sqlserver/aa937724

    优点:用于 SQL Server 2008 的官方 Microsoft JDBC 驱动程序!基于几年前微软购买的 JNetDirect JSQLConnect 驱动程序 v3,从那时起他们一直在此基础上构建。JNetDirect JSQLConnect 的支持告诉我这一点。

    缺点:似乎有很多连接/稳定性问题,不要相信我,只是谷歌吧:)。没有办法禁用我正在寻找的语句准备/池。

    JDBC 合规性:尽管许多方法抛出 UnimplementedException,但声称是 JDBC 4.0 兼容的!!!!

    JDBC 类型:4

    价格:免费

  2. 进度数据直接

    网址http ://www.datadirect.com/index.html

    优点:声称是一流的,被 Informatica 等众多应用程序使用,并且该公司已经存在很长时间了!获得快速支持 - 我已经简短地处理过他们。

    缺点:?

    JDBC 合规性:声称符合 JDBC 4.0

    JDBC 类型:5

    价格:不免费

  3. JTDS

    网址:http: //jtds.sourceforge.net/

    优点:比官方的 Microsoft JDBC 驱动程序快得多。有一种禁用准备好的语句的方法。

    缺点:?

    JDBC 合规性:仅符合 JDBC 3.0。这对我来说是一个交易破坏者,因为不支持像 .validate() 和 .isClosed() 这样的重要方法,因为它们是 JDBC 4.0 方法。

    JDBC 类型:4

    价格:免费 - 开源

  4. INET 梅利亚

    网址: http: //www.inetsoftware.de/products/jdbc-driver/ms-sql/merlia

    优点:比官方的 Microsoft JDBC 驱动程序快得多。有一种方法可以禁用准备好的语句。

    缺点:?

    JDBC 合规性:声称符合 JDBC 3.0/4.0

    JDBC 类型:4

    价格:不免费

  5. JNetDirect JSQLConnect

    网址http ://www.jnetdirect.com/products/jsqlconnect.html

    优点:比官方的 Microsoft JDBC 驱动程序快得多。有办法禁用准备好的语句

    缺点:?

    JDBC 合规性:声称符合 JDBC 3.0/4.0

    JDBC 类型:4

    价格:对于只有 1 个数据库连接的单个用户免费。

如果你能保持你的评论干净,我很乐意和其他人一起更新这篇文章。