问题标签 [mssql-jdbc]

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 投票
5 回答
28786 浏览

sql-server - 什么可能导致 SQL Server JDBC 错误“未为参数编号 0 设置值”以访问输出参数?

我有一些访问 SQL Server 2005 的 Java 代码,看起来像这样:

最后一行抛出以下异常:

被调用的存储过程如下所示:

由于在进入存储过程时输出参数设置为零,在什么情况下可以不设置该值?还是我误解了错误信息?

此错误可通过以下方式重现:

  • SQL Server JDBC 驱动程序 1.2
  • SQL Server 2005(64 位)服务包 2
  • SQL Server 2005(64 位)服务包 3

更新:它似乎是由于-- Do processing...存储过程的一部分而发生的。删除它可以消除错误。这里要重现的代码太多,我想要的是一些指向可能原因的指针,以缩小可能的候选范围。

更新:-- Do processing...在存储过程的一部分中注入错误(例如除以零)不会导致抛出此异常(相反,正如预期的那样,execute()调用失败并显示适当的错误消息)。

更新:反编译 com.microsoft.sqlserver.jdbc.SQLServerCallableStatement 类表明 'parameter number 0' is the stored procedure return value

更新:我无法通过直接通过 Management Studio 调用存储过程来重现这一点。

更新:这个错误的最终原因似乎是存储过程中的死锁。但是,通常死锁会导致execute()调用失败,并显示SQLException包装 SQL Server 错误代码 1205...

0 投票
5 回答
48562 浏览

java - 使用哪个 jar 连接到 MS SQL 服务器

有人可以指导我了解我需要在我的应用程序中包含哪个 jar 文件才能建立与 ms sql server 的 jdbc 连接。

提前致谢。

0 投票
11 回答
126231 浏览

java - JDBC SQLServerException:“此驱动程序未配置为集成身份验证。”

我正在为SmartFoxServer (SFS) 编写“服务器端扩展”。在我的登录脚本中,我需要连接到我正在尝试使用 JDBC 进行的 MS SQL Server。我已经在调试环境中测试了 JDBC 代码,它运行良好。

当我将服务器端扩展放入 SFS“扩展”文件夹(按照规范)时,我得到一个com.microsoft.sqlserver.jdbc.SQLServerException

“此驱动程序未配置为集成身份验证。”。

我用谷歌搜索了这个错误,发现通常是因为文件sqljdbc_auth.dll不在系统路径中;我已将此文件复制到系统路径中的文件夹中,但仍然无法正常工作!

还有其他建议吗?

0 投票
1 回答
2742 浏览

java - 无法在 Java 程序中连接 SQL Server 2008 的本地实例

我在 Eclipse 项目的构建路径中使用 sqljdbc4.jar。我正在尝试在 Java 程序中连接到 SQL Server 2008

但我收到以下错误。与主机的 TCP/IP 连接失败。java.net.ConnectException:连接被拒绝:连接

我尝试了以下

  • 防火墙关闭

  • 在 SQL Server 配置管理器中启用 TCP/IP --> 客户端协议

  • SQL Server 浏览器服务也在运行 请让我知道我应该尝试哪些其他事情。

谢谢

0 投票
4 回答
4479 浏览

hibernate - Netbeans 中的休眠逆向工程找不到 SQL Server 表

我的机器上安装了一个 Test SQL Server 数据库。创建了一个测试 SQL Server 帐户,并在默认架构上的 TestDb 中使用此帐户创建了两个表。在我的 Java Web 应用程序(简单 JSP)上,我使用 Hibernate 并将其配置为指向测试数据库。但是,当我开始创建 hibernate.reveng 文件时,向导不会找到/显示任何可用的表。请查看我的休眠配置文件:

转到我应该查看表格的步骤时没有错误。它只是在两个数据库表框中不显示任何内容。我什至可以在没有任何警告/错误的情况下保存 xml 文件,但里面没有表。我需要一些有关当前设置的帮助,以便我可以通过休眠向导显示和映射表。

0 投票
2 回答
2018 浏览

java - Unix 上的 MSSQL JDBC

我正在尝试使用集成安全性将我们拥有的 web 工具与 sql server 数据库集成。我一直在四处寻找 sqljdbc4.jar 的 unix 版本,但是我似乎找不到只有 .dll 的 .so 文件的版本。

有谁知道我在哪里可以获得所需的 .so 文件的版本或使用集成安全性的其他方式?

目前我的应用程序无法连接

我可以看到

早在日志中。

使用 2.5 版的 mssqljdbc。

0 投票
0 回答
539 浏览

java - 无法为 jdbc sql server'08 连接加载 sqljdbc_auth.dll

我正在尝试使用 Eclipse IDE 中的 sqljdbc4.jar 连接到 SQL Server 2008。我在运行配置中提供 dll 路径,就像在 VM 参数中一样 -Djava.libary.path="C: /Users/rrpall/workspace/AnnouncmentsFilter/sqljdbc_auth"

我正在从 junit 测试用例运行我的程序,我收到以下错误:

我的junit测试用例

并且弹出窗口说“找不到主类:”Djava.library.path = C:/Users/rrpall/workspace/AnnouncmentsFilter/sqljdbc_auth. 程序将会退出”

我的原始代码是

谁能帮我解决这个问题?

0 投票
1 回答
210 浏览

sql-server-2008 - MSSQLSERVER 2008 和 Groovy 的 Manifest.MF 问题

我在连接到 Oracle 和 SQLServer 的 GGTS IDE 中创建了一个简单的 Groovy 项目。该程序在 IDE 中运行良好,但是当我通过命令行运行该程序时,我似乎在 MANIFEST.MF? 中遇到了某种编码错误。请参阅下面的堆栈跟踪:

命令行

结果

在过去连接到 MSSQLServer 时,我使用了以下 jar:

  • msbase.jar
  • msutil.jar
  • mssqlserver.jar

不过这一次,当我寻找 2008 年的 jdbc jar 时,我得到了sqljdbc4.jar。它再次在 IDE 中工作,但不能在命令行中工作。我已经挑出问题出在 sqljdbc4.jar 中,因为我注释了与此相关的所有代码,并且程序运行良好,只使用了 oracle jar 引用。

  1. 有人知道为什么会这样吗?
  2. 你用什么 jars 从命令行用 groovy 连接到 sqlserver 2008?

谢谢。

0 投票
1 回答
1978 浏览

jdbc - Connect to SQL Server using Windows Authentication with different user account in JDBC

I need to connect to SQL Server using Windows Authentication with different user account in JDBC. This is the code I am using:

And here is the Error:

com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'abcd'

0 投票
1 回答
4699 浏览

java - 无法从命令提示符使用 JAR 连接到 MS SQL Server 2008,但在 Eclipse 中成功运行

我正在尝试SQL Server 2008使用sqljdbc4.jarEclipse 连接并可以成功连接。

但是,当我将代码导出为 JAR 并尝试使用命令提示符运行它时,出现错误:

D:\Eclipse\TestDBJar>java -Djava.ext.dirs=lib -jar TestDB.jar Apr 5, 2013 11:17:17 AM com.microsoft.sqlserver.jdbc.TDSChannel enableSSL INFO: java.security path: C: \Program Files\Java\jre6\lib\security 安全提供程序:[SUN 1.6 版、SunRsaSign 1.5 版、SunJSSE 1.6 版、SunJGSS 1.0 版、SunSASL 1.5 版、XMLDSig 1.0 版、SunPCSC 1.6 版] SSLContext 提供程序信息: Sun JSSE 提供者(PKCS12、SunX509 密钥/信任工厂、SSLv3、TLSv1) SSLContext 提供者服务:[SunJSSE:KeyFactory.RSA -> sun.security.rsa.RSAKeyFactory 别名:[1.2.840.113549.1.1,OID.1.2.840.113549。 1.1],SunJSSE:KeyPairGenerator.RSA -> sun.security.rsa.RSAKeyPairGenerator
别名:[1.2.840.113549.1.1,OID.1.2.840.113549.1.1],SunJSSE:Signature.MD2withRSA -> sun.security.rsa.RSASignature$MD2withRSA
别名:[1.2.840.113549.1.1.2,OID.1.2.840.113549 .1.1.2] , SunJSSE: Signature.MD5withRSA -> sun.security.rsa.RSASignature$MD5withRSA
别名: [1.2.840.113549.1.1.4, OID.1.2.840.113549.1.1.4] , SunJSSE: Signature.SHA1withRSA - > sun.security.rsa.RSASignature$SHA1withRSA
别名:[1.2.840.113549.1.1.5, OID.1.2.840.113549.1.1.5, 1.3.14.3.2.29, OID.1 .3.14.3.2.29] , SunJSSE: Signature.MD5andSHA1withRSA -> com.sun.net .ssl.internal.ssl.RSASignat ure , SunJSSE: KeyManagerFactory.SunX509 -> com.sun.net.ssl.internal.ssl.KeyManagerF actoryImpl$SunX509 , SunJSSE: KeyManagerFactory.NewSunX509 -> com.sun.net.ssl.internal .ssl.KeyManagerFactoryImpl$X509,SunJSSE:TrustManagerFactory.SunX509 -> com.sun.net.ssl.internal.ssl.TrustManagerFactoryImpl$SimpleFactory,SunJSSE:TrustManagerFactory.PKIX -> com.sun.net.ssl.internal.ssl .TrustManager FactoryImpl$PKIXFactory
别名:[SunPKIX,X509,X.509],SunJSSE:SSLContext.SSL -> com.sun.net.ssl.internal.ssl.SSLContextImpl,SunJSSE:SSLContext.SSLv3 -> com.sun.net.ssl.internal。 ssl.SSLContextImpl , SunJSSE: SSLContext.TLS -> com.sun.net.ssl.internal.ssl.SSLContextImpl , SunJSSE: SSLContext.TLSv1 -> com.sun.net.ssl.internal.ssl.SSLContextImpl , SunJSSE: SSLContext.默认 -> com.sun.net.ssl.internal.ssl.DefaultSSLContextI mpl , SunJSSE: KeyStore.PKCS12 -> com.sun.net.ssl.internal.pkcs12.PKCS12KeyStore ] java.ext.dirs: lib com.microsoft。 sqlserver.jdbc.SQLServerException:驱动程序无法使用安全套接字层 (SSL) 加密建立与 SQL Server 的安全连接。错误:“RSA premaster secret 错误”。 ClientConnectionId:c0a357b6-e274-41b2-9fd a-7ef89ebdfb7a at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerC onnection.java:1667) at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1668) )

verConnection.java:1323) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerCon nection.java:827) 在 com.microsoft .sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at TestDbConnection.main(TestDbConnection.java:13)引起:javax.net.ssl.SSLKeyException: RSA premaster secret 错误 在 com.sun.net.ssl.internal.ssl.RSAClientKeyExchange.(未知来源) 在 com.sun.net.ssl.internal.ssl.ClientHandshaker.serverHelloDone(未知来源) 在 com.sun.net.ssl.internal .ssl.ClientHandshaker.processMessage(Unknown Source) at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown Source) at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown Source)在 com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(未知来源)

已知来源)在 com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(未知来源)在 com.microsoft 的 com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(未知来源)。 sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1618)

我正在提供一个外部 lib 文件夹,sqljdbc4.jar其中包含并使用运行我的 JAR java -Djava.ext.dirs=lib -jar TestDB.jar

我已经阅读了各种帖子,但没有工作。