小编Bor*_*iev的帖子

什么是IllegalStateException?

我正在尝试使用以下Fastload API

连接等等是完美的.


我确切地知道它失败了

 ...........
 System.out.println(" Streaming " + dataFile);
 pstmtFld.setAsciiStream(1, dataStream, -1); // This line fails
 System.out.println("check the above line"); // This does not go to console
 ...........
Run Code Online (Sandbox Code Playgroud)

例外是

Exception in thread "main" java.lang.IllegalStateException: Sample failed.

[ODBC Teradata Driver] Invalid precision: cbColDef value out of range


这是我要上传的表格.这是一种.csv格式,当我通过记事本打开它时,它看起来像这样

1,9,Win
2,9,Winc
3,9,Wi
Run Code Online (Sandbox Code Playgroud)

为什么我会得到这个例外?我怎样才能改进它?据我所知,问题是pstmtFld.setAsciiStream(1, dataStream, -1);不能以某种方式接受数据集并抛出异常

java illegalstateexception

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

如何将表从一个数据库复制到另一个数据库?

我需要从一个数据库中取一个表并将其上传到另一个数据库.所以,我创建了两个单独的连接.这是我的代码

Connection connection1 = // set up connection to dbms1
Statement statement = connection1.createStatement();
ResultSet result = statement.executeQuery("select * from ............. "); 

Connection connection2 =  // set up connection to dbms2
// Now I want to upload the ResultSet result into the second database
Statement statement2 = connection2.createStatement("insert into table2 " + result);
statement2.executeUpdate();
Run Code Online (Sandbox Code Playgroud)

以上最后一行不起作用我该怎么做?底线是如何重用ready结果集

ResultSet是一个现成的java对象.我希望有一种方法将它添加到批次或这样的事情和executeUpdate,但不写结果集到一些临时空间(List,csv等等),并插入

java resultset

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

如何设置JTextArea大小?

我想设置一个固定大小的JtextAreaJOptionPane

public static void main(String[] args) {

        JTextArea headersTxt = new JTextArea();
        for (int i = 0 ; i < 50 ; i ++ ) {
            headersTxt.append("test \n") ;
        }
        JScrollPane scroll = new JScrollPane(headersTxt); 
        scroll.setSize (300,600) ;  // this line silently ignored
        int test = JOptionPane.showConfirmDialog(null,  scroll,"test",  JOptionPane.OK_CANCEL_OPTION) ;

    }
Run Code Online (Sandbox Code Playgroud)

但是,上面的代码忽略了 scroll.setSize (300,600) ;

它工作正常,但大小不固定.有什么问题scroll.setSize (300,600) ;

java swing joptionpane jtextarea

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

连接Java和Teradata:UserId,密码或帐户无效

我一直试图连接到Teradata

Class.forName("com.teradata.jdbc.TeraDriver");
        String connectionString = "jdbc:teradata://xxx.xxxxxx.com/database=xxxxxx,  tmode=ANSI,  charset=UTF8";
        String user = "Rocket512";
        String password = "aui8mn5";
        Connection conn = DriverManager.getConnection(connectionString, user, password);
Run Code Online (Sandbox Code Playgroud)

得到以下

  Exception in thread "main" com.teradata.jdbc.jdbc_4.util.JDBCException: [Teradata Database] 
[TeraJDBC 14.10.00.17] [Error 8017] [SQLState 28000] The UserId, Password or Account is invalid.
        at com.teradata.jdbc.jdbc_4.util.ErrorFactory.makeDatabaseSQLException(ErrorFactory.java:300)
        at com.teradata.jdbc.jdbc.GenericLogonController.run(GenericLogonController.java:666)
        at com.teradata.jdbc.jdbc_4.TDSession.<init>(TDSession.java:216)
Run Code Online (Sandbox Code Playgroud)

我知道主机是正确指定的,因为我没有得到UnknownHost Exception. 另外我已经仔细检查了我的用户名和密码是否正确.


我运行@ beni23建议的查询(谢谢)

select * 
from dbc.logonoff 
where logdate >= date '2013-10-31'
Run Code Online (Sandbox Code Playgroud)

这是我得到的结果

在此输入图像描述

什么是Bad Password?我使用SQL Assistant使用这个密码,效果很好.为什么我不能用Java连接?

java teradata

5
推荐指数
2
解决办法
2万
查看次数

SAS中的编译与执行

这个问题在SAS论坛上进行了讨论,与会者最终同意不同意.

问题很简单:SAS missing value在编译时为所有变量分配一个UNLESS 变量显示在a中sum statement(在这种情况下,SAS 0在编译时指定一个值).这是我的简单证明

  data test;
  put _all_;
  var1+1;
  var2=5;
  put _all_;
  run;
Run Code Online (Sandbox Code Playgroud)

记录屏幕

var1=0 var2=. _ERROR_=0 _N_=1
var1=1 var2=5 _ERROR_=0 _N_=1
NOTE: The data set WORK.TEST has 1 observations and 2 variables.
Run Code Online (Sandbox Code Playgroud)

var2分配了一个missing valueBUT var1被分配,0因为它是一部分sum statement(我相信如此)


我的问题是为什么?我很确定SAS missing values在编译时会为所有变量分配.为什么它会在一个变量中出现异常sum statement?还有其他例外吗?

sas

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

如何在teradata中执行多个查询?

例如查询: create table ; select xxx ; delete ;

如何在一个会话中执行它?

我看到了一个关于 mysql的类似问题的答案。诀窍是开启allow multiple queries

String dbUrl = "jdbc:mysql:///test?allowMultiQueries=true";
Run Code Online (Sandbox Code Playgroud)

特别是对于teradata,解决方案是什么?

我试过

String dbUrl = "jdbc:odbc:dsn?allowMultiQueries=true";
Run Code Online (Sandbox Code Playgroud)

它工作不正常?

java sql teradata

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

如何根据一个参数获得不同的值?

我正在使用teradata来吸引一些员工

select eventid, personid ......... .......

我需要select仅基于eventid参数来区分值,所以我想应用于distincteventid,并让personid成为任何类型的第一个值

我怎样才能做到这一点?

如果我做

select distinct eventid, personid ............ ......... 这将根据两个参数进行区分

teradata

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

如何在WHERE子句中为字符串赋值?

表是

 id  col1    col2  
 1   former  good  
 2   future  fair
 3   now     bad
 4   former  good
    .............
Run Code Online (Sandbox Code Playgroud)

目标:我只需要选择那些累积分数高于0.8的行

1)如果col1 ='前'那么该行获得0.2分,如果'现在'那么'0.7',如果'未来'那么0.3

2)如果col2 ='good'那么该行得到0.8分,如果'坏'那么'0.1',如果'公平'则为0.5


因此,我需要在WHERE子句中分配数值.我想避免在SELECT中更改值,因为我需要用户能够看到标签('good','now'等)而不是数字.

我怎样才能做到这一点?

SELECT * 
FROM mytable 
WHERE ?
Run Code Online (Sandbox Code Playgroud)

teradata

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

如果密码散列可以轻松解密,有什么用?

密码是mySQL数据库应该以散列形式保存

echo password_hash('test', PASSWORD_BCRYPT); 
Run Code Online (Sandbox Code Playgroud)

给我们

$2y$10$8PxsFGPbGtgYb44GRPL84ev2T0xR0LXMSSKm7cuSBUbAU114mosFG 
Run Code Online (Sandbox Code Playgroud)

要么

$2y$10$E.q3bVE9EE2ce2VaKPJgtuwEMRZxpTYiQR6Mw2dmLGqeKx/PsQY42 
Run Code Online (Sandbox Code Playgroud)

要么 ...

但是所有这些$2y$10. . .字符串都很容易被解密回test使用password_verify.

假设某人可以访问哈希密码,那么她将能够使用password_verify ?解密它们?一旦有人拥有字符串,$2y$10$E.q3bVE9EE2ce2VaKPJgtuwEMRZxpTYiQR6Mw2dmLGqeKx/PsQY42他或她就可以轻松地将其转换回纯文本,对吧?那么为什么要使用密码呢?

php mysql encryption hash

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