小编Ama*_*ath的帖子

如何知道SSIS无法解析平面文件中的数据

我有一个平面文件,我使用SSIS将数据导入数据库.当SSIS失败时,它只是报告特定列导入失败.但更确切地说,我想知道平面文件中哪一行发生了错误,以便我可以知道在平面文件中搜索的位置.

示例: 考虑一个平面文件,其中包含以下列名称,年龄,日期.假设该文件有100行.但是如果SSIS在某一行失败,那么在处理列Date时会说80.我收到的错误是,

"组件"派生列"(19)"失败,因为发生错误代码0xC0049063,并且"输出列"DATE"(33)"上的错误行处置指定错误失败. 通过这个我能够理解列日期有一些非数字值.但是如何知道SSIS哪条线路失败(在这种情况下它是线路:88)

我必须知道这个,因为我有大文件,所以我无法理解解析时错误的来源.

任何人都可以告诉我"Derived Column"(19)中的19是什么,以及"DATE"(33)中的33是"我在错误中得到的".

sql ssis sql-server-2008

3
推荐指数
1
解决办法
2800
查看次数

使用自定义TableModel使得isCellEditable为按钮单击时的特定行的true

我的表

我有一张像上面这样的桌子.最初除按钮列以外的所有单元格都不可编辑.我使用自定义创建了表TableModel.我isCellEditable的自定义TableModel看起来像这样:

public boolean isCellEditable(int rowIndex, int columnIndex) { 
    //System.out.println("isCellEditable: " + rowIndex + " " + columnIndex);
    if(getColumnClass(columnIndex) == JButton.class)
        return true;
    else
        return false;
}
Run Code Online (Sandbox Code Playgroud)

但是,当我单击每行的"编辑"按钮时,JDialog将弹出该行(通过JTable在此对话框中仅构建一行来构建一个.)我可以更新此JDialog表中的单元格值.然后在该行的相应单元格中更新它们.

JDialog的表

只有当我的isCellEditable返回为true时,我才能在此处更新后成功更新主表的行.但这不应该发生.只有当我点击它然后我应该能够isCellEditable将行更改为可编辑和更新,然后使其不可编辑.

我看过以下帖子但无法实现.

java swing jtable jbutton abstracttablemodel

3
推荐指数
1
解决办法
1万
查看次数

JProgressBar在数据加载时摆动

我有来自UI的服务器调用.它的响应时间有点高.所以我想在从服务器加载数据时显示进度条.我已尝试使用此方法的以下代码来显示进度条.一些我做错的地方当我calculateResult()按下按钮点击方法时,我没有看到进度条.我无需在进度条上显示任何百分比.它只需要显示数据正在加载.

//我试过以下代码

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.lang.reflect.InvocationTargetException;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.SwingUtilities;
import javax.swing.SwingWorker;

 public class MyProgressBarTest extends JFrame {
private static final long serialVersionUID = 1L;

private static JProgressBar progressBar;

public static void main(String[] args) {
    MyProgressBarTest obj = new MyProgressBarTest();
    obj.createGUI();
}

public void createGUI() {
    JPanel panel = new JPanel();
    JButton button = new JButton("Progress");

    progressBar = new JProgressBar();

    button.addActionListener(new ActionListener() {
        @Override
        public void …
Run Code Online (Sandbox Code Playgroud)

java swing swingworker jprogressbar

3
推荐指数
1
解决办法
4850
查看次数

JTable setCellRenderer将文本字段格式化为日期?

例如,我有一个日期存储为VARCHAR(yyyy-mm-dd)的SQLite数据库'2013-01-25'.我的查询从表中检索记录并将其显示为存储.我需要VARCHARJTable"2013年1月25日星期五"中显示数据.我怀疑使用setCellRenderer作为包含VARCHAR的列是可行的方法.此外,我认为这将是一个两步过程:首先,将VARCHAR转换为日期值,然后根据需要格式化日期.如果我从中获取VARCHAR值JTable并在以下位置显示它,我可以这样做JTextField:

MyDate = new SimpleDateFormat("yyyy-MM-dd").parse(rs.getString("My_Date"));
Run Code Online (Sandbox Code Playgroud)

然后根据需要格式化它

MyDateStr = new SimpleDateFormat("EEEE MMMM d, yyyy").format(MyDate);
Run Code Online (Sandbox Code Playgroud)

这一切都很好,也很好; 但是,我需要JTable列中的格式化显示.我从未使用过setCellRenderer,所以我可以使用一些帮助入门.

swing date jtable tablecellrenderer

3
推荐指数
1
解决办法
9818
查看次数

无法理解以下错误:"(Ljava/lang/Integer;)V"不适用于此对象

当我从DB2获取结果并尝试设置此属性时,noOfLocations我收到以下错误.

Method "setNoOfLocations" with signature "(Ljava/lang/Integer;)V" is not applicable on this object
Run Code Online (Sandbox Code Playgroud)

以下代码显示了问题.

我正在使用rs来设置值.

packDO.setNoOfLocations(rs.getInt("NO_LOC_PKG"));
Run Code Online (Sandbox Code Playgroud)

rs.getInt("NO_LOC_PKG") is returning 0
Run Code Online (Sandbox Code Playgroud)

NO_LOC_PKG is of datatype Integer in the DB
Run Code Online (Sandbox Code Playgroud)

noOfLocationssetter方法类型是,

private Integer noOfLocations;

public void setNoOfLocations(Integer noOfLocations) {
        this.noOfLocations = noOfLocations;
    }
Run Code Online (Sandbox Code Playgroud)

java resultset

3
推荐指数
1
解决办法
5491
查看次数

为什么==对于Integer和String是不同的?

main(){

Integer i1 = 500;

Integer i2 = 500;

System.out.println(i1 == i2);  // O/P is "**false**"

String s1 = "Hello";

String s2 = "Hello";

System.out.println(s1 == s2);  // O/P is "**true**"

} // End of main.
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚为什么输出不同.据我所知s1,s2将指向堆上的同一个对象.所以他们的参考地址是一样的.同样地,我认为整数也是一样的.但事实并非如此.它为什么不同?

java

2
推荐指数
1
解决办法
232
查看次数

Java并发:在任务池中查找任务失败

SSCCE之后显示从服务器获取记录(比如说).ExecutorService用于创建ThreadPool2个线程,我用Timeout3秒调用所有这些线程.故意我做了一些失败的任务.

现在我的问题是,如何让EmpID的任务失败?

MainClass:

public class MultiThreadEx {
    public static void main(String[] args) {

        String[] empIDArray = {
                "100", "200", "300", "400", "500", 
                "600", "700", "800", "900", "1000", 
                "1100", "1200", "1300", "1400", "1500"
            };

        List<ThreadTaskEach> taskList = new ArrayList<ThreadTaskEach>();
        try {
            for(String empID : empIDArray) {
                taskList.add(new ThreadTaskEach(empID));
            }
        } catch(Exception e) {
            System.out.println("Exception occured: " + e.getMessage());
        }

        List<Future<Map<String, String>>> futureList = null;
        try {
            ExecutorService service = Executors.newFixedThreadPool(2);
            futureList = service.invokeAll(taskList, 3, …
Run Code Online (Sandbox Code Playgroud)

java concurrency multithreading

2
推荐指数
1
解决办法
418
查看次数

打印可以用两个字符串形成的字符串

我试图解决以下问题.但无法提出正确的解决方案

鉴于两个字符串说xyzabc.找到可以用这两个字符串形成的所有字符串.一个约束是每个字符串中的字符序列应保持不变.

例子:

xyabzc - Valid

xabcyz - Valid

abcxyz - Valid

xyzacb - Invalid. (b cannot come before c)
Run Code Online (Sandbox Code Playgroud)

我试过以下,

将两个字符串连接成一个新字符串.获得字符串的所有排列并删除不遵循上述约束的那个.我知道这很模糊,但这是我提出的唯一解决方案.

请建议一个更好的方法.

string algorithm data-structures

2
推荐指数
1
解决办法
107
查看次数

使用TransferHandler进行JTable拖放

目前我有两张桌子说Table-A, Table-B.我的任务是将行从Table-A拖到Table-B或将Table-B中的行拖到自身上.使用TransferHandler我已经完成了这项任务.但我的问题是,我无法识别从哪个表行被拖动到Table-B...即,从表-A到表-B或从表-B到自身.在exportData方法中TransferHandler我将一些额外的数据添加到其中一个列.基于此,当我通过importData方法导入数据时,我能够找出使用我添加数据的特定列来自哪个表.我知道这根本没有被推荐..所以我需要知道是否有一个很好的方法来解决这个问题?

java swing drag-and-drop jtable

1
推荐指数
1
解决办法
2109
查看次数

如何更改JFrame内的JPanel?

我正在为这个基本Pong-style游戏而努力,但我在这个GUI方面遇到了一些困难.基本上我有一个JFrame叫做窗户,里面有一切东西,还有一个JPanel叫做内容.内容应该是指ContentPanel我所拥有的.这是我到目前为止的源代码(对不起,它很长,很多都与游戏完全相关,而不是这个问题,但我不确定我需要哪些部分源代码才能使我的问题有意义):

import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
import javax.swing.*;

public class Pong extends JApplet {


   public static void main(String[] args) {
      JFrame window = new JFrame("Pong: The Game of Champions");
      JPanel content = new JPanel();
      window.setContentPane(content);
      window.setSize(1000,600);
      window.setLocation(100,100);
      window.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
      window.setVisible(true);
      window.setResizable(false);

      JMenuBar settings = new JMenuBar();
      ButtonHandler listener = new ButtonHandler();
      window.setJMenuBar(settings);
      JMenu toolsMenu = new JMenu("Settings");
      settings.add(toolsMenu);
      JMenuItem preferences = new JMenuItem("Preferences");
      JMenuItem about = new JMenuItem("About"); …
Run Code Online (Sandbox Code Playgroud)

java swing jpanel jframe layout-manager

1
推荐指数
1
解决办法
394
查看次数

我什么时候应该在java中使用异常

我试图理解为什么要使用异常.假设我有一个程序,

(不使用try/catch)

public class ExceptionExample {

private static String str;

public static void main(String[] args) {
    System.out.println(str.length());
}
Run Code Online (Sandbox Code Playgroud)

我有例外

Exception in thread "main" java.lang.NullPointerException
at com.Hello.ExceptionExample.ExceptionExample.main(ExceptionExample.java:22)
Run Code Online (Sandbox Code Playgroud)

现在使用try/catch,

public class ExceptionExample {

private static String str;

public static void main(String[] args) {
    try {
        System.out.println(str.length());
    } catch(NullPointerException npe) {
        npe.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

}

我得到了例外,

java.lang.NullPointerException
at com.Hello.ExceptionExample.ExceptionExample.main(ExceptionExample.java:9)
Run Code Online (Sandbox Code Playgroud)

现在我的问题是,

在这两种情况下,我都打印了相同的信息.那么使用try/catch有什么用呢?和

捕获异常后我们可以做些什么,在这种情况下我打印了堆栈跟踪.catch是否仅用于打印跟踪或使用getMessage()或getClass()查找异常详细信息?

java exception-handling exception

0
推荐指数
1
解决办法
163
查看次数

JTable设置列宽不起作用

我试图将列宽设置为列名的长度.我的问题是,我无法设置它.当我使用以下代码时,表格变得像这样,

tableA.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
  for(int i = 0; i < tableA.getColumnCount(); i++) {
int columnLength = (modelA.getColumnName(i)).length();
tableA.getColumnModel().getColumn(i).setPreferredWidth(columnLength);
//  tableA.getColumnModel().getColumn(i).setMinWidth(columnLength);
//  tableA.getColumnModel().getColumn(i).setMaxWidth(columnLength);
  }
Run Code Online (Sandbox Code Playgroud)

我从表模型中正确获取列长度.

当我使用上面的代码时,表格会像这样包装,

设置列宽

我无法理解我做错了什么.

java swing jtable

0
推荐指数
1
解决办法
4103
查看次数