[
https://issues.apache.org/jira/browse/NIFI-2764?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15486147#comment-15486147
]
Peter Wicks edited comment on NIFI-2764 at 9/13/16 3:49 AM:
------------------------------------------------------------
The Unit Test I wrote, that I can't bring myself to check-in:
`@Test
@Ignore("Intended only for local testing, not automated testing")
public void testMSSQLIntColumns() throws SQLException,
InitializationException {
QueryDatabaseTable qdbProcessor = new MockQueryDatabaseTable();
TestRunner qdbRunner = TestRunners.newTestRunner(qdbProcessor);
final DBCPConnectionPool service = new DBCPConnectionPool();
runner.addControllerService("dbcp", service);
// set embedded Derby database connection url
runner.setProperty(service, DBCPConnectionPool.DATABASE_URL,
"jdbc:sqlserver://localhost;DatabaseName=nifiTest;portNumber=1433;instanceName=./SQLEXPRESS");
runner.setProperty(service, DBCPConnectionPool.DB_USER, "nifi");
runner.setProperty(service, DBCPConnectionPool.DB_PASSWORD, "nifi");
runner.setProperty(service, DBCPConnectionPool.DB_DRIVERNAME,
"com.microsoft.sqlserver.jdbc.SQLServerDriver");
runner.setProperty(service, DBCPConnectionPool.DB_DRIVER_LOCATION,
"C:/Users/pwicks/Downloads/sqljdbc_6.0/enu/sqljdbc41.jar");
runner.enableControllerService(service);
runner.setIncomingConnection(false);
runner.setProperty(QueryDatabaseTable.TABLE_NAME, "testtable");
runner.run();
runner.assertAllFlowFilesTransferred(QueryDatabaseTable.REL_SUCCESS, 1);
runner.getFlowFilesForRelationship(QueryDatabaseTable.REL_SUCCESS).get(0).assertAttributeEquals(QueryDatabaseTable.RESULT_ROW_COUNT,
"3");
}`
was (Author: patricker):
The Unit Test I wrote, that I can't bring myself to check-in:
@Test
@Ignore("Intended only for local testing, not automated testing")
public void testMSSQLIntColumns() throws SQLException,
InitializationException {
QueryDatabaseTable qdbProcessor = new MockQueryDatabaseTable();
TestRunner qdbRunner = TestRunners.newTestRunner(qdbProcessor);
final DBCPConnectionPool service = new DBCPConnectionPool();
runner.addControllerService("dbcp", service);
// set embedded Derby database connection url
runner.setProperty(service, DBCPConnectionPool.DATABASE_URL,
"jdbc:sqlserver://localhost;DatabaseName=nifiTest;portNumber=1433;instanceName=./SQLEXPRESS");
runner.setProperty(service, DBCPConnectionPool.DB_USER, "nifi");
runner.setProperty(service, DBCPConnectionPool.DB_PASSWORD, "nifi");
runner.setProperty(service, DBCPConnectionPool.DB_DRIVERNAME,
"com.microsoft.sqlserver.jdbc.SQLServerDriver");
runner.setProperty(service, DBCPConnectionPool.DB_DRIVER_LOCATION,
"C:/Users/pwicks/Downloads/sqljdbc_6.0/enu/sqljdbc41.jar");
runner.enableControllerService(service);
runner.setIncomingConnection(false);
runner.setProperty(QueryDatabaseTable.TABLE_NAME, "testtable");
runner.run();
runner.assertAllFlowFilesTransferred(QueryDatabaseTable.REL_SUCCESS, 1);
runner.getFlowFilesForRelationship(QueryDatabaseTable.REL_SUCCESS).get(0).assertAttributeEquals(QueryDatabaseTable.RESULT_ROW_COUNT,
"3");
}
> JdbcCommon Avro Can't Process Java Short Types
> ----------------------------------------------
>
> Key: NIFI-2764
> URL: https://issues.apache.org/jira/browse/NIFI-2764
> Project: Apache NiFi
> Issue Type: Bug
> Components: Core Framework
> Affects Versions: 1.0.0
> Reporter: Peter Wicks
>
> Microsoft SQL Server returns TINYINT values as Java Short's. Avro is unable
> to write datum's of this type and throws an exception when trying to.
> This currently breaks QueryDatabaseTable at the very least when querying MS
> SQL Server with TINYINT's in the ResultSet.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)