Tag: sql server

Java SQL Server 2012无法打开数据库错误

我似乎遇到了错误: Cannot open database requested by the login. The login failed. Cannot open database requested by the login. The login failed. 将我的SQL Server数据库连接到用netbeans编写的Java应用程序时。 我读了很多文章并做了以下工作: 在UDP和TCP下允许1433端口到防火墙 将SQL Server配置管理器TCP / IP端口设置为1433 将SQL Server Management Studio中的服务器身份validation更改为混合身份validation SQL Server Management Studio中允许的远程连接 我的连接字符串如下: jdbc:sqlserver://localhost\\SQLEXPRESS:1433;DatabaseName = SASS; IntegratedSecurity=true; Trusted_Connection=true; 我仍然收到以下错误: Cannot open database “SASS” requested by the login. The login failed. […]

在Hibernate标准中区分大小写搜索

我正在使用Hibernate 3和SQL Server 2008.我想在Hibernate Criteria中进行区分大小写的搜索。 我无法实现它。 我的代码如下: Criteria criteria = session.createCriteria(User.class); /*line 1*/ criteria.add(Restrictions.eq(“userName”, userName)); /*line 2*/ 我有一个User.java类,它包含一个String userName 。 数据库条目: id | user_name ————– 1 | abc 2 | xyz 现在,如果我在第2行传递”abc”作为userName ,那么它应该从db返回第一条记录。 但是如果我在第2行”aBC” “Abc” , “ABC” , “aBC”等作为userName “aBC” ,则不应该获取任何记录。 我访问了这个链接,但它对我没有帮助,因为我不想使用与hql或SQL Server的排序规则。 我愿意使用Criteria排序规则,但不知道如何做。

如何将Joda Time DateTime对象转换为SQL Server格式的String?

我在Java中使用Joda-Time库,并将日期和时间存储为org.joda.time.DateTime对象。 如何可靠地将此DateTime对象转换为将由SQL Server(包括时区)正确解析的String,以便我可以在INSERT SQL语句中使用它?

I / O错误:SSO失败:未加载本机SSPI库

我试图运行以下代码: import java.sql.DriverManager; public class Connect { public static void main(String[] args){ try{ String databaseDriver = “net.sourceforge.jtds.jdbc.Driver”; Class.forName(databaseDriver); } catch (Exception e) { e.printStackTrace(); } try{ String url = “jdbc:jtds:sqlserver://BHX:1433/Forecast;instance=SQLEPXRESS”; java.sql.Connection con = DriverManager.getConnection(url); System.out.println(“Connection”); } catch (Exception e){ e.printStackTrace(); } } } 我的SQL服务器在机器BHX上的端口1433上运行。 我得到的错误消息如下: java.sql.SQLException: I/O Error: SSO Failed: Native SSPI library not loaded. […]

使用PostgreSQL和SQL Server Hibernate UUID

我有一个应用程序,我想在PostgreSQL和SQL Server上运行。 我想使用java.util.UUID作为ID。 我已经在SQL Server中定义了我的列 id UNIQUEIDENTIFIER ROWGUIDCOL NOT NULL UNIQUE 我在PostgreSQL中定义了我的列 id UUID NOT NULL 列在我的JPA实体中定义为 @Id @Column(name = “id”) public UUID getId() { return id; } 这适用于PostgreSQL,因为它将UUID传递给PostgreSQL JDBC驱动程序。 这种方式适用于SQL Server,因为Hibernate在将UUID发送到SQL Server之前将其转换为二进制forms。 不幸的是,二进制格式略有不同 ,导致GUID的字符串表示(例如,当使用SSMS查看它们时)不同,这至少令人困惑。 通过将列的类型更改为uuid-char,可以在SQL Server中解决此问题 @Id @Type(type = “uuid-char”) @Column(name = “id”) public UUID getId() { return id; } 然而它在PostgreSQL中不再起作用,因为在Postgres中没有从varchar到uuid的隐式映射。 有些人建议改变发电机以产生guid。 这在Postgres中不起作用,因为在PostgreSQL94Dialect中不支持它。 为这两个数据库创建这个词最优雅的解决方案是什么? […]

java.lang.ClassNotFoundException:com.microsoft.jdbc.sqlserver.SQLServerDriver:我加载了正确的驱动程序吗?

当我运行以下代码片段连接到数据源以通过查询获取数据时: try { String driver = “com.microsoft.jdbc.sqlserver.SQLServerDriver”; Class.forName(driver); String Url = “jdbc:sqlserver://localhost:1433;databaseName=movies”; Connection connection = DriverManager.getConnection(Url,”sa”, “xxxxxxx); // Context initContext = new InitialContext(); // Context envContext = (Context)initContext.lookup(“java:comp/env”); // DataSource ds = (DataSource)envContext.lookup(“”); // Connection connection = ds.getConnection(); String query_name = “select name from list where name='” + data + “‘”; 显示此exception跟踪: java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver at […]

使用JDBC驱动程序在SQL Server中设置默认行预取

我有一个应用程序,我想为Oracle和SQL Server驱动程序定义要为连接预取的默认行数。 Oracle驱动程序有一个OracleConnection接口,它提供了setDefaultRowPrefetch方法来完成它,但是我找不到与SQL Server驱动程序等效的东西。 有一种方法可以使用SQL Server JDBC驱动程序为连接定义默认行预取?

JPA SQL Server没有JDBC类型的Dialect映射:-9

我写了一个原生查询 Query query = entityManagerUtil.getEntityManager().createNativeQuery(“SELECT c.NodeID,c.Code,c.Name FROM COM_Location c”); query.getResultList(); 但它对我不起作用…. 我使用JPA,MSSQL Server 2008和Spring.It当我尝试用pojo类编写JPA查询但它无法执行本机查询时工作正常。 我在persistance.xml配置是这样的 任何人都建议我解决问题 我的堆栈跟踪说…… org.springframework.orm.jpa.JpaSystemException: org.hibernate.MappingException: No Dialect mapping for JDBC type: -9; nested exception is javax.persistence.PersistenceException: org.hibernate.MappingException: No Dialect mapping for JDBC type: -9 at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:311) at org.springframework.orm.jpa.aspectj.JpaExceptionTranslatorAspect.ajc$afterThrowing$org_springframework_orm_jpa_aspectj_JpaExceptionTranslatorAspect$1$18a1ac9(JpaExceptionTranslatorAspect.aj:15) at com.iconma.carz.daoimpl.SecurityDaoImpl.getAllLocations(SecurityDaoImpl.java:40) at com.iconma.carz.serviceimpl.SecurityServiceImpl.getAllLocations(SecurityServiceImpl.java:31) at com.iconma.carz.controllers.SecurityController.getLocations(SecurityController.java:51) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) […]

JPA复合主键

我的JPA模型中有以下类(省略了getter,setter和不相关的字段): @Entity @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) public class Currency { @Id private Integer ix; } @Entity @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) public class Product { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; } 我需要定义一个类Price ,这样当从类生成DDL时,相应表的主键由Product和Currency的键组成。 我尝试过以下方法: @Entity @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) @IdClass(PricePK.class) public class Price { @Id @ManyToOne(optional = false) private Product product; @Id @ManyToOne(optional = false) private Currency […]

JDBC SQLServerException:“此驱动程序未配置为集成身份validation。”

我的标准免责声明:我在大约10年内没有使用Java,所以我很可能在这里做了一些基本错误。 我正在为SmartFoxServer (SFS)编写一个“服务器端扩展”。 在我的登录脚本中,我需要连接到MS SQL Server,我试图使用JDBC进行连接。 我在调试环境中测试了JDBC代码,它工作正常。 但 当我将服务器端扩展放在SFS“extensions”文件夹中时(根据规范),我得到一个com.microsoft.sqlserver.jdbc.SQLServerException : “此驱动程序未配置为集成身份validation。” 我用Google搜索了这个错误,发现这通常是因为文件sqljdbc_auth.dll不在系统路径中; 我已将此文件复制到系统路径中的文件夹中,但仍无效! 还有其他建议吗?