Tag: sql server

如何在Hibernate中映射BigDecimal,以便恢复我放入的相同比例?

在Java中, new BigDecimal(“1.0”) != new BigDecimal(“1.00”)即规模很重要 。 但是,对于Hibernate / SQL Server来说,这显然不是这样。 如果我将BigDecimal上的比例设置为特定值,通过Hibernate将BigDecimal保存到数据库然后重新膨胀我的对象,我会返回一个具有不同比例的BigDecimal。 例如,值1.00将返回1.000000,我假设因为我们将BigDecimals映射到定义为NUMERIC(19,6)的列。 我不能只将列定义为所需的比例,因为我需要将Dollar和Yen值(例如)存储在同一列中。 为了外部报告工具的利益,我们需要将BigDecimals表示为数据库中的数字类型。 是否存在一个“正确”映射BigDecimal的Hibernate UserType,或者我是否必须自己编写?

如何validationSQL查询语法?

java 1.4 Sql server 2000 我正在从管理员用户输入sql查询(对于通过执行sql查询检索的值validation字段值),这将存储在数据库中,之后我将执行对应于field的sql查询。在数据库中插入sql查询之前我想要在java代码中validation其语法。 Fields Sql Query stateCode select statecode from states district code select district code from districts

如何在MS SQL Server 2008 Express中使用MS JDBC驱动程序?

我的配置: Windows XP SP3 JDBC 2005 MS SQL Server 2008 Express,通过端口1433上的tcp / ip公开 类路径中的sqljdbc.jar 我试过了: try { Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”).newInstance(); con = DriverManager.getConnection(“jdbc:microsoft:sqlserver://localhost:1433/SQLEXPRESS2008;databaseName=Test;selectMethod=cursor”, “sa”, “”); } catch (Exception e) { e.printStackTrace(); } 但它总是抛出exception: java.sql.SQLException: No suitable driver 我也试过以下url: localhost:1433/SQLEXPRESS2008 localhost/SQLEXPRESS2008 localhost 结果相同。 有帮助吗?

如何使MS SQL Server可用于连接?

我正在尝试从Java程序连接到MS SQL Server(在我的机器上运行)。 我得到了以下冗长的例外情况: Exception in thread “main” com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host localhost, port 1433 has failed. Error: “Connection refused: connect. Verify the connection properties, check that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port, and that no firewall is blocking TCP connections […]

如果存储过程在MSSQL服务器2005上的选择之前执行更新,则无结果集

有没有人知道为什么我不会得到结果集如果我在商店程序中的选择之前做更新。 我正在运行MSSQL server 2005和最新的Microsoft JDBC驱动程序。 相关的java代码: CallableStatement cstmt = con.prepareCall(“{call dbo.sp_groups_select}”); if (cstmt.execute()) { while (cstmt.getResultSet().next()) 如果存储过程如下所示,则不会获得结果集: CREATE PROCEDURE [dbo].[sp_groups_select] AS update Computers set ComputerName=’Foo’ where ComputerName=’bar’; select * from Computers; 但如果它看起来像这样我得到一个结果集 CREATE PROCEDURE [dbo].[sp_groups_select] AS select * from Computers; update Computers set ComputerName=’Foo’ where ComputerName=’bar’;

在Java应用程序中执行“sp_msforeachdb”

您好StackOverflow社区:) 我来找你分享我的一个问题…… 我必须提取SQL Server实例的每个数据库中的每个表的列表 ,我找到了这个查询: EXEC sp_msforeachdb ‘Use ?; SELECT DB_NAME() AS DB, * FROM sys.tables’ 它在Microsoft SQL Server Management Studio上运行良好,但是当我尝试在我的Java程序 (包括SQL Server的JDBC驱动程序)中执行它时,它表示它不会返回任何结果 。 我的Java代码如下: this.statement = this.connect.createStatement(); // Create the statement this.resultats = this.statement.executeQuery(“EXEC sp_msforeachdb ‘Use ?; SELECT DB_NAME() AS DB, * FROM sys.tables'”); // Execute the query and store results in a ResultSet […]

使用Java将spark RDD保存到本地文件系统

我有一个使用Spark生成的RDD。 现在,如果我将此RDD写入csv文件,我将获得一些方法,如“saveAsTextFile()”,它将csv文件输出到HDFS。 我想将文件写入我的本地文件系统,以便我的SSIS进程可以从系统中选择文件并将它们加载到数据库中。 我目前无法使用sqoop。 除了编写shell脚本之外,它是否可以在Java中实现。 需要任何清晰度,请告知。

Java Hibernate与SQL Server 2012无法正常工作?

我有一个Java Hibernate项目配置,它与SQL Server 2008 R2配合使用,现在有了新的OS 8.1(从7开始)和SQL Server 2012(快速),我无法连接到SQL服务器。 因为它适用于2008 R2,所以/应该在语法上正确的相关配置: datasource.properties jdbc.driverClassName=net.sourceforge.jtds.jdbc.Driver jdbc.url=jdbc:jtds:sqlserver://localhost:1433/dbname;instance=SQLEXPRESS jdbc.username=auser jdbc.password=xyz 我尝试了两种方言org.hibernate.dialect.SQLServerDialect在2008 R2中工作。 hibernate.hbm2ddl.auto=create-drop hibernate.dialect=org.hibernate.dialect.SQLServerDialect #hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect hibernate.show_sql=true springConfiguration.xml SQL Server 2012安装了混合模式身份validation,SQL Server Management Studio连接没有问题(有或没有实例名称)。 我已经更新了SQLEXPRESS的SQL Server Network Configuration 。 SQLEXPRESS的协议: TCP/IP Enabled以及所有TCP/IP Properties – TCP Port到1433的TCP/IP Properties – TCP Port 。 我试过禁用Windows防火墙只是为了测试它是否在路上,但它会导致相同的错误。 我最终添加了防火墙规则,并按照这个优秀的配置SQL Express 2012中的一些步骤来接受远程连接文章 。 错误消息: Caused by: java.lang.AbstractMethodError at […]

JPA GenerationType.AUTO没有考虑具有自动增量的列

我有一个表与一个简单的int id列在SQL Server中具有标识自动增量。 实体的Id使用@Id和@GeneratedValue注释 @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = “id”, length = 4, precision = 10, nullable = false) private Integer id; 在SQL Server中,该列已正确设置为Identity with Seed , Increment等于1。 当我尝试持久化该实体的实例时,Hibernate尝试查询hibernate_sequence表以获取ID值。 由于我没有在我的架构中创建该表,因此出现错误: could not read a hi value: com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name ‘MySchema.hibernate_sequence’ 如果我将生成类型更改为IDENTITY,一切都按预期工作 @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = “id”, length = 4, precision = […]

与主机localhost,端口1433的TCP / IP连接失败

当我试图通过jdbc连接eclipse与sql server时,我反复得到这两个错误。 任何人都可以帮助我或解释为什么我得到这个? 1. The TCP/IP connection to the host localhost, port 1433 has failed. 2. The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. 谢谢。 String driver = “com.microsoft.sqlserver.jdbc.SQLServerDriver”; Class.forName(driver).newInstance(); String connString =”jdbc:sqlserver://localhost:1433/databaseName=Engg_Street;instance=SQLSERVER;encrypt=true; trustServerCertificate=true”; String username = “Vijayalakshmi”; String password = “”; conn = DriverManager.getConnection(connString,username,password);