Tag: sql server

jdbc.SQLServerException:任何用户的用户登录失败

我试图测试与本地sql DB的连接。 我有这个代码: try{ Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”).newInstance(); DriverManager.getConnection(“jdbc:sqlserver://localhost:1433;databaseName=SocialFamilyTree;user=SOSCOMP”); }catch(Exception e){ System.out.println(“Couldn’t get database connection.”); e.printStackTrace(); } 我试了很多用户。 我的Windows用户是SOSCOMP,没有密码。 我也知道SQL 2008创建用户为“sys”“dbo”,我也试过这些。 我总是得到: Couldn’t get database connection. com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user ‘SOSCOMP’. at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:196) at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:246) at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:83) at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:2532) at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:1929) at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41) at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:1917) at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4026) at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1416) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1061) at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:833) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:716) at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:841) […]

hibernate中的createSQLQuery使用Prepared Statement?

我在Hibernate中使用带有setString (无硬编码值)的createSQLQuery 。 我想知道Hibernate是否将createSQLQuery用于createSQLQuery ? 关心: 我想保留此查询在缓存中创建的执行计划,以便下次在数据库上触发相同的查询时,它将使用相同的执行计划。 仅供参考:我正在使用MSSQL Server 2008 /* This is just example I’m not using same query */ Query nativeSQLQuery = session.createSQLQuery(“select Firstname from user_master where user_name = :param”); nativeSQLQuery.setString(“param”, “vicky.thakor”); 我找不到stackoverflow链接,甚至在谷歌,所以请提供链接,如果有的话。

如何使用Java的SQL Server Compact Edition(CE)?

我想从Java访问Microsoft SQL Server Compact Edition数据库。 我怎样才能做到这一点? 我搜索了SQLCE的JDBC驱动程序,但我找不到。

将SQL Server 2008连接到Java:登录失败,表示用户错误

我正在尝试将我的Java代码连接到Microsoft SQL Server 2008 R2 Express数据库。 我已下载Microsoft SQL Server JDBC驱动程序3.0并将sqljdbc4.jar添加到我的类路径中。 我正在使用Netbeans并且在我的项目中也包含了sqljdbc4.jar。 我在SQL Server Management Studio中创建了一个名为TestDB1的数据库,并添加了一些我将用于测试的列和值。 我通过右键单击服务器JACOB = PC \ SQLEXPRESS-> Properties-> Secuity并从Windows身份validation模式更改为SQL Server和Windows身份validation模式,从Windows身份validation模式更改。 然后,我通过右键单击JACOB-PC / SQLEXPRESS-> Secuity Folder-> Logins Folder下的窗口浏览器中的Login文件夹创建了一个新登录,并添加了一个新的登录名。 我给它命名为jhaip2,切换到SQL Server身份validation并将密码设置为jacob。 未选中强制执行密码策略和强制密码过期。 默认数据库设置为TestDB1。 然后在TestDB1-> Secuity-> Users-> jhaip2->数据库角色成员身份我将jhaip2设置为db_owner(我无法在没有这样做的情况下登录管理工作室中的数据库,可能不是正确的事情?)。 然后我重新启动了服务器。 现在对于我的java代码,它基本上是JDBC Driver 3.0示例代码的直接副本,除了没有Windows身份validation。 package databasetest1; import java.sql.*; public class connectURL { public static void main(String[] args) […]

EXECUTE之后的事务计数表示BEGIN和COMMIT语句的数量不匹配。 以前的数量

我得到关于提交和回滚的这个例外,但我不确定我的存储过程究竟出了什么问题。 我已经阅读了其他类似问题的答案,但我无法找到确切的提交计数在哪里搞砸了。 所以,这是我使用的存储过程: — this is a procedure used for the purge utility. This procedure uses the parameters of a date and lets user select — if the leads that should be purge must be closed either before, on or since that date. — operator: 0–>less 1–>equal 2–>greater — @closed: closing date — leadscount: returns […]

为什么Microsoft SQL Server 2012查询需要花费几分钟而不是JDBC 4.0,而在Management Studio中需要几秒钟?

我正在处理从远程Microsoft SQL Server 2012到使用Microsoft JDBC Driver 4.0的Java客户端检索相对较大的ResultSet时显然是性能问题。 当我在远程服务器的Microsoft SQL Server Management Studio上运行相应的查询时,它返回约。 220k行几乎瞬间完成。 当我从客户端发出相同的查询时,它会停止。 同样的测试在客户端上运行良好,早期版本的数据库只有大约。 400行合格。 我尝试通过追加传递给DriverManager.getConnection()的URL来解决这个问题。建立连接后,我在connection.getMetaData().getURL() )的结果中看到了这个属性(以及其他几个connection.getMetaData().getURL() ,但是[ connection.getClientInfo(responseBuffering)返回null ,而且客户端仍然停滞不前。 这里可能出现什么问题,我如何指示Microsoft SQL Server(不仅仅是以Java编程方式建议)它必须以较小的块而不是一次性返回行,或者通过其他一些措施来改进JDBC查询时间。 另外两个看起来有点奇怪的观察结果可能完全指向不同的根本原因: 当客户端停止时,它仍然只显示相对较轻的CPU负载,这与我对重垃圾收集的期望不同 “responseBuffering = adaptive”应该是现在的正常默认值 更新我已经检查过,发现从PreparedStatement切换到Statement并没有改善我的情况(显然在其他情况下可以帮助)。 更新这是我当前的查询: select PARENT.IDENTIFIER as PARENT_IDENTIFIER, PARENT.CLASS as PARENT_CLASS, CHILD.TYPE as CHILD_TYPE, CHILD.IDENTIFIER as CHILD_IDENTIFIER, PROPERTY.IDENTIFIER as PROPERTY_IDENTIFIER, PROPERTY.DESCRIPTION as PROPERTY_DESCRIPTION, PROPERTY.TYPE as PROPERTY_TYPE, PROPERTY.PP as […]

使用Kerberos S4U扩展(在Java 8中引入)使用JDBC连接到数据库

我用Java编写代码已经有一段时间了,所以我可能会遗漏一些明显的东西。 我想通过JDBC连接到数据库(我需要支持很多 – SQL Server,MySQL等)。 但是,我想使用Java 8中添加的Microsoft S4U Java扩展支持来实现Kerberos委派。 我不希望用户必须在我的中间层服务器上输入他们的凭据。 我想使用S4U代表用户获取我的中间层服务器的票证,并使用它通过doAs函数(Subject.doAs或doAsPrivileged)调用JDBC代码。 我已经在Windows上使用C ++和ODBC添加了对协议转换和约束委派的支持。 但我不知道如何用Java做同样的事情。 关于Java的S4U文档很稀疏。 此页面似乎包含最多信息 – http://docs.oracle.com/javase/8/docs/technotes/guides/security/jgss/jgss-features.html 。 该页面说“已经在com.sun.security.jgss包中添加了一个新的公共方法(GSSCredential :: impersonate)来实现这些扩展。” 基于http://docs.oracle.com/javase/7/docs/technotes/guides/security/jgss/single-signon.html ,我认为我需要使用类LoginContext和Subject来调用doAs JDBC连接调用,以便在Subject的凭据下进行连接。 但是我如何在混合中使用GSSCredential :: impersonate? 谢谢,艾德

如何在JDBI sql api中打印@SqlQuery注释

我想知道jdbi sql api处理sql查询究竟是什么用于调试目的。 我的接口类如下 public inteface myinteface{ @SqlQuery(“select :c1 from tablename where cond = :cd”) String returnMeValue(@Bind(“c1”) String c1, @Bind(“cd”) Integer cd); } 然后在另一个类中调用String result = myinterfaceclassobject.returnMeValue(“Name”,1); 我没有得到预期的答案所以我想看看实际上是什么进入sql查询。 那么有什么方法可以获得最终处理的查询吗?

在Tomcat上配置SQL Server连接池

我一直在尝试为SQL Server 2012数据库配置连接池。 我目前已经配置并运行了Informix和Oracle池,只有SQL Server让我头疼。 这是我在Context.xml上的资源到目前为止的样子: 当然,那是使用sqljdbc4驱动程序。 我们已经尝试过使用jtds-1.3.0和driverClass=”net.sourceforge.jtds.jdbc.Driver” ,但是没有去。 所有资源引用也正在正确配置。 每当我尝试使用该资源创建新连接时,它都会失败。 为了比较,以下是我们的Informix和Oracle资源的样子: 所以我的问题是:如何在我的tomcat上下文中为SQL Server 2012正确配置连接池? 我搜索了高低,尝试了我发现的一切,但没有任何效果。 提前致谢。 [编辑]这是堆栈跟踪: http : //pastebin.com/w3rZSERs [edit-2]似乎问题是Tomcat无法在他的lib文件夹中找到驱动程序。 我们很确定它在那里,但我们不知道这一点。 sqljdbc4和jtds-1.3.0都会发生这种情况。 我们正在遵循我们可以找到的每个指南,但问题仍然存在。

什么是MS SQL Server 2005 Express的jTDS JDBC Connect URL

我正在尝试从java程序连接到本地主机上运行的MS SQL Server 2005 Express数据库。 我尝试了在运行MS SQL Server 2000的另一个系统(相同的jave代码)上使用的相同连接URL(下面)。但这不起作用。 jdbc:jtds:sqlserver://127.0.0.1:1433/Finance 有任何想法吗?