添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
憨厚的篮球  ·  DB2 ...·  1 周前    · 
绅士的杨桃  ·  迁移 DB2 对象·  1 周前    · 
憨厚的烤红薯  ·  Using IBM DB2 JDBC ...·  1 月前    · 
瘦瘦的菠萝  ·  Configure IBM DB2 ...·  1 月前    · 
忐忑的眼镜  ·  Calling Javascript ...·  11 月前    · 
威武的松树  ·  Mmd R18 Genshin ...·  1 年前    · 

I'm trying to use Talend Open Studio to connect to a DB2 database with a non-default security mechanism.

So far the security mechanism is the only thing that causes problems.

I created a tDB2Input, added my server, schema etc.

In "advanced parameters", added "securityMechanism=4".

These settings work on database connection software such as DBeaver.

But when I try to open the Sql Builder, nothing happens.

When I try to "Guess Schema", I get:

le mécanisme de sécurité n'est pas pris en charge. ERRORCODE=-4214, SQLSTATE=28000
the security mechanism is not supported. ERRORCODE=-4214, SQLSTATE=28000

It looks like talend is not taking into account the advanced parameters I give him.

Any input on that ?

Cheers

Hello,

From your screenshot, there is no tDBInput component in your workflow. How did you extract data from your database and load it into next step?

The tDBConnection component is used to open a connection to a database to be reused in the subsequent subjob or subjobs.

tPrejob-->tDBConnection-->tDBInput-->output (subjob1)

tlogcatcher-->tlogrow(subjob2)

Best regards

Sabrina

Hello,

Is it a connection authorization failure? Could you please post the full error stack here?

Here is a related issue on stackoverflow: https://stackoverflow.com/questions/16705749/db2-connection-authorization-faliure-occured-reason-sec...

Best regards

Sabrina

La connexion à la base de donnée a échoué
  java.lang.RuntimeException: com.ibm.db2.jcc.am.SqlInvalidAuthorizationSpecException: [jcc][t4][201][11237][4.14.113] Un incident d'autorisation de connexion s'est produit.  Cause : le mécanisme de sécurité n'est pas pris en charge. ERRORCODE=-4214, SQLSTATE=28000
      at org.talend.core.model.metadata.builder.database.JDBCDriverLoader.getConnection(JDBCDriverLoader.java:204)
      at org.talend.core.model.metadata.builder.database.ExtractMetaDataUtils.connect(ExtractMetaDataUtils.java:1139)
      at org.talend.core.model.metadata.builder.database.ExtractMetaDataFromDataBase.testConnection(ExtractMetaDataFromDataBase.java:315)
      at org.talend.core.model.metadata.builder.database.ExtractMetaDataFromDataBase.testConnection(ExtractMetaDataFromDataBase.java:301)
      at org.talend.designer.core.ui.editor.properties.controllers.GuessSchemaController.checkConnection(GuessSchemaController.java:927)
      at org.talend.designer.core.ui.editor.properties.controllers.GuessSchemaController.useMockJob(GuessSchemaController.java:760)
      at org.talend.designer.core.ui.editor.properties.controllers.GuessSchemaController.createButtonCommand(GuessSchemaController.java:222)
      at org.talend.designer.core.ui.editor.properties.controllers.GuessSchemaController$1.widgetSelected(GuessSchemaController.java:197)
      at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
      at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
      at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
      at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
      at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
      at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
      at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
      at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
      at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
      at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
      at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
      at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
      at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
      at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
      at org.talend.rcp.intro.Application.start(Application.java:265)
      at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
      at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
      at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
      at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
      at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
      at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
      at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
  Caused by: com.ibm.db2.jcc.am.SqlInvalidAuthorizationSpecException: [jcc][t4][201][11237][4.14.113] Un incident d'autorisation de connexion s'est produit.  Cause : le mécanisme de sécurité n'est pas pris en charge. ERRORCODE=-4214, SQLSTATE=28000
      at com.ibm.db2.jcc.am.ed.a(ed.java:675)
      at com.ibm.db2.jcc.am.ed.a(ed.java:60)
      at com.ibm.db2.jcc.am.ed.a(ed.java:120)
      at com.ibm.db2.jcc.t4.b.f(b.java:2388)
      at com.ibm.db2.jcc.t4.b.a(b.java:1711)
      at com.ibm.db2.jcc.t4.y.b(y.java:3613)
      at com.ibm.db2.jcc.t4.y.a(y.java:477)
      at com.ibm.db2.jcc.t4.y.a(y.java:117)
      at com.ibm.db2.jcc.t4.b.c(b.java:1349)
      at com.ibm.db2.jcc.t4.b.b(b.java:1220)
      at com.ibm.db2.jcc.t4.b.b(b.java:788)
      at com.ibm.db2.jcc.t4.b.a(b.java:760)
      at com.ibm.db2.jcc.t4.b.a(b.java:423)
      at com.ibm.db2.jcc.t4.b.a(b.java:398)
      at com.ibm.db2.jcc.t4.b.<init>(b.java:336)
      at com.ibm.db2.jcc.DB2SimpleDataSource.getConnection(DB2SimpleDataSource.java:232)
      at com.ibm.db2.jcc.DB2SimpleDataSource.getConnection(DB2SimpleDataSource.java:198)
      at com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:475)
      at com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:116)
      at org.talend.core.model.metadata.builder.database.DriverShim.connect(DriverShim.java:41)
      at org.talend.core.model.metadata.builder.database.JDBCDriverLoader.getConnection(JDBCDriverLoader.java:195)
      ... 34 more

I'm using a DBInput component with "securityMechanism=4;" in the advanced parameters, so this should not happen...

I can connect fine to the database with a Connection object though, this returns no errors:

Again, with "securityMechanism=4;" in the advanced parameters.

The stackoverflow thread was no help, but I appreciate your help.

Best regards

Hello,

From your screenshot, there is no tDBInput component in your workflow. How did you extract data from your database and load it into next step?

The tDBConnection component is used to open a connection to a database to be reused in the subsequent subjob or subjobs.

tPrejob-->tDBConnection-->tDBInput-->output (subjob1)

tlogcatcher-->tlogrow(subjob2)

Best regards

Sabrina