【发布时间】:2015-04-20 13:23:03
【问题描述】:
我制作了这个源代码来尝试从文本文件中插入数据,但它没有做我想要的。
首先我声明带有赋值的变量作为默认值插入到我的表中,然后只获取通过文本文件输入的新值。我不知道我应该使用正确的插件。
package Clases;
import java.sql.*;
import java.util.*;
import java.math.*;
public class Importar {
public static Connection Conexión;
public static void main(String[] args) {
try {
Scanner lector = new Scanner(System.in);
String ID_Origin = "NE001";
short siPeriod = 2015;
byte TypeTrans = 0;
String ID_Entry = "";
short siType = 0;
String Concept = "";
String ID_Class = "01";
String ID_Budget = null;
java.sql.Timestamp dtDate = null;
String ID_Cost = null;
java.math.BigDecimal Debits = null;
java.math.BigDecimal Credits = null;
String ID_Currency = null;
BigDecimal AmountFOB = BigDecimal.ZERO;
BigDecimal CurrencyRate = BigDecimal.ZERO;
boolean boCashFlow = false;
short Status = 0;
short StatusConsol = 0;
System.out.println("ID_Entry");
ID_Entry = lector.next();
System.out.println("Concept");
Concept = lector.next();
System.out.println("dtDate");
System.out.println("Debits");
System.out.println("Credits");
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Conexión = DriverManager.getConnection(
"jdbc:sqlserver://SSL2541\\SQLEXPRESS:1433;" +
"databaseName=namedatabase;user=sa;password=password");
PreparedStatement enrollItmt;
// This is where I have my confusion and did not return
// anything the program
enrollItmt = Conexión.prepareStatement(
"LOAD FROM 'C://Users//aurbina//Desktop//cargadatabase.txt' "
+ "INSERT INTO tablename( ID_Entry, siType, Concept, ID_Class, "
+ "dtDate, Debits, Credits)"
+ "VALUES (+Concept, +dtDate, +Debits, +Credits)");
enrollItmt.execute();
}
catch(ClassNotFoundException | SQLException ex) {
}
}
}
【问题讨论】:
-
您到底想达到什么目的?什么不起作用?
-
对于大文本文件,请尝试
mysqlimport或 Oracle 等效的sqlldr -
@Palcente "SQL-Server 2012"...
-
我在 txt 文件中的这些数据可以插入到我分配的表和列中,因为我也有通过我所说的变量默认输入的值,那里是一些你应该始终拥有相同数据的字段。
-
如果有人可以提供我一些源代码或更正以实现非常感谢它
标签: java sql-server-2012