【发布时间】:2011-09-24 14:21:00
【问题描述】:
我正在尝试在 SQL Server 2008 Express 上执行 BULK INSERT 语句。 (它基本上获取指定文件中的所有字段并将这些字段插入到表中的适当列中。)
下面给出了一个批量插入语句的例子--
BULK INSERT SalesHistory FROM 'c:\SalesHistoryText.txt' WITH (FIELDTERMINATOR = ',')
下面给出的是我正在尝试使用的 Java 代码(但它不起作用)...有人可以告诉我我在这里做错了什么或指向我使用 Bulk Insert 语句的 Java 代码示例/教程吗? --
public void insertdata(String filename)
{
String path = System.getProperty("user.dir");
String createString = "BULK INSERT Assignors FROM " + path + "\\" +filename+ ".txt WITH (FIELDTERMINATOR = ',')";
try
{
// Load the SQLServerDriver class, build the
// connection string, and get a connection
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String connectionUrl = "jdbc:sqlserver://arvind-pc\\sqlexpress;" +
"database=test01;" +
"user=sa;" +
"password=password1983";
Connection con = DriverManager.getConnection(connectionUrl);
System.out.println("Connected.");
// Create and execute an SQL statement that returns some data.
String SQL = "BULK INSERT dbo.Assignor FROM " + path + "\\" +filename+ ".txt WITH (FIELDTERMINATOR = ',')";
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(SQL);
// Iterate through the data in the result set and display it.
while (rs.next())
{
//System.out.println(rs.getString(1) + " " + rs.getString(2));
System.out.println(" Going through data");
}
}
catch(Exception e)
{
System.out.println(e.getMessage());
System.exit(0);
}
}
【问题讨论】:
-
“它不工作”是什么意思?应该发生什么,但不是?您收到什么错误消息(如果有)?
-
@LukeWoodward- 令人惊讶的是,我没有收到任何类型的消息(成功或错误)......我已经将一些消息在成功连接时输出到控制台,以及执行语句后循环遍历结果集...整个代码块有一个 try..catch 错误消息打印到控制台...但是没有显示任何消息..??!!
标签: java sql-server jdbc sql-server-express