Tag: SQL服务器

如何使用Java读取.csv文件并将其数据插入SQL Server?

我是Java的新手。 我有两个步骤的任务。 我想从.csv文件中读取所有数据。 在读取该数据后,我必须将其放入SQL Server数据库中。 我已经完成了第一步。 我能够读取.csv文件数据,但我不知道如何将其插入数据库。 这是我获取.csv文件数据的代码: import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.StringTokenizer; public class DBcvsdataextractor { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String fileName=”D:/USPresident Wikipedia URLs Thumbs HS.csv”; try { BufferedReader br = new BufferedReader( new FileReader(fileName)); StringTokenizer st […]

检查数据库中是否存在打开的文件名

我正在将行插入数据库,我需要检查是否已经上传了这样的文件。 String filename = fileopen.getSelectedFile().getName(); String fileNameDB = “select File_name from dbo.Table”; if (fileNameDB.equalsIgnoreCase(filename)) { JOptionPane.showMessageDialog(null, “File exists”, “ERROR”, JOptionPane.ERROR_MESSAGE); } else { //inserting code } 但它并没有显示错误,而是直接插入。

与主机localhost,端口1433的TCP / IP连接失败错误,需要帮助

我得到的完整错误: 与主机localhost,端口1433的TCP / IP连接失败。 错误:“连接超时。validation连接属性。确保主机上正在运行SQL Server实例并接受端口上的TCP / IP连接。确保防火墙不阻止与端口的TCP连接。 ”。 我已经使用端口1433检查了TCP / IP已启用,并且TCP动态端口为空。 我已禁用Windows防火墙。 这是我的代码: import java.sql.*; public class DBConnect { public static void main(String[] args) { // TODO Auto-generated method stub String dbURL = “jdbc:sqlserver://localhost:1433;DatabaseName=TestDB1;instance=SQLSERVER;encrypt=true;TrustServerCertificate=true;”; String user = “sa”; String pass = “”; try { Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”); Connection myConn = DriverManager.getConnection(dbURL, user, pass); try { Statement […]

什么是通过SQL更新单个记录并获取更新记录的id的最佳方法? (爪哇/ MSSQL)

我知道我可以更新这样的单个记录 – 但是如何才能访问已更新的记录的id? (我正在使用MSSQL,所以我不能使用Oracles RowId) update myTable set myCol = ‘foo’ where itemId in (select top 1 itemId from myTable ) 如果我正在使用插入,我可以使用getGeneratedKeys来获取id字段值,但我认为没有相应的更新? 我知道我可以使用可滚动的结果集来做我想要的 即 stmt = conn.prepareStatement(“select top 1 myCol, itemId from myTable”, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet resultSet = stmt.executeQuery(); if(resultSet.first()){ resultSet.updateString(1, “foo”); resultSet.updateRow(); String theItemId = resultSet.getString(1) } resultSet.close(); 但我担心性能,因为测试显示负载下的锁定超时,我想知道是否有更好/更简单的方法? – 编辑:刚刚完成这个问题……当我们迁移到MSSQL2005时,我们将升级我们的代码以使用Rich的答案。 在当前版本中,我们使用了锁提示:(UPDLOCK ROWLOCK READPAST)来缓解我们原始代码显示的性能问题。