Home Forum Nuclos Bedienung Datenimport/export Daten aus 2. Datenbank importieren.

Ansicht von 9 Beiträgen - 1 bis 9 (von insgesamt 9)
  • Autor
    Beiträge
  • #5028
    Mario Reuter
    Teilnehmer

    Hallo,

    ich habe einen Test-Server mit einer postgresql 9.1 am laufen.

    Es sind 2 DB’s vorhanden:

    DB1 ein Ticket-System
    DB2 Nuclos in aktueller Version.

    Ich würde nun gerne Daten aus der DB1 mit Nuclos auslesen und übernehmen.
    Wie gehe ich hier vor? Wie sieht der Ansatz aus?

    Danke

    #5380
    Claudia Mangstl
    Teilnehmer

    Hallo !

    Sollen die Daten einmalig übertragen werden ?
    Dann würde ich einen Import über CSV vorschlagen. Also Daten aus DB1 tabellenweise in ein CSV Format exportieren und in DB2 die Importstrukturen für CSV Import vorbereiten und durchführen

    Soll ein regelmässiger Zugriff stattfinden ?
    In Nuclos gibt es sogenannte virtuelle Entitäten. Damit können Sie eine View erzeugen und somit Daten auch aus anderen Datenbanken abholen. Diese Views können innerhalb von Nuclos wie normale Entitäten behandelt werden.

    Hilft das ?

    Viele Grüße,
    Claudia

    #5491
    Mario Reuter
    Teilnehmer

    Hallo,

    das letztere ist das, was ich suche.

    Denn der Datnezugriff bzw. Abgleich soll automatisch erfolgen.

    #5641
    Jan Giebels
    Teilnehmer

    Spiele gerade ein wenig mit den virtuellen Entitäten herum, komme aber nicht so recht weiter.

    Wie definiere ich denn die geforderten Spalten in einem View, der zur virtuellen Entität wird?
    (INTID, INTVERSION, STRCREATED, DATCREATED, STRCHANGED und DATCHANGED)

    Bisher sieht der View wie folgt aus:

    SELECT
    mail,
    field_website_value,
    newsletter_value,
    birthday_value,
    uid AS "INTID",
    (1):: NUMERIC AS "INTVERSION",
    'drupal' :: CHARACTER VARYING AS "STRCREATED",
    'drupal' :: CHARACTER VARYING AS "STRCHANGED",
    '1970-01-01 19:45:51' :: TIMESTAMP WITHOUT TIME ZONE AS "DATCREATED",
    '1970-01-01 19:45:51' :: TIMESTAMP WITHOUT TIME ZONE AS "DATCHANGED"
    FROM
    ...

    Gibt es vll Beispiele, wie ein View aussehen sollte, damit er als virtuelle Entität verwendet werden kann?

    Als weitere Frage stelle ich mir: Woher soll ein Fremdsystem STRCHANGED oder INTID bekommen … so richtig habe ich das Konzept der virtuellen Entitäten wohl noch nicht verstanden.

    Danke und Gruss

    #5642
    Markus Glitzner
    Teilnehmer

    so sieht es bei mir am SQL Server aus wenn ich via linked Server auf eine MySQL Datenbank zugreife.
    select GetDate() as DATCREATED, GetDate() as DATCHANGED, 'system' as STRCREATED, 'system' as STRCHANGED, 1 as INTVERSION,
    ArtikelID as INTID, *
    from shop...Artikel

    so weit ich das sehe ist es bei dir auch nicht viel anders, ev. scheitert es am Datentyp.

    Gruß
    Hugo

    #5674
    Jan Giebels
    Teilnehmer

    Ich komme noch nicht weiter.
    Habe den View nun angelegt mit allen geforderten Spalten und Datentypen und erhalte weiterhin folgenden Fehler:


    ERROR [org.nuclos.server.common.NuclosRemoteRollbackInterceptor] - server bean exception, propagated to client: java.lang.NullPointerException
    java.lang.NullPointerException
    at org.nuclos.server.masterdata.ejb3.MetaDataFacadeBean.tryVirtualEntitySelect(MetaDataFacadeBean.java:1473)
    at sun.reflect.GeneratedMethodAccessor241.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:67)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
    at $Proxy20.tryVirtualEntitySelect(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor241.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org.nuclos.server.common.NuclosRemoteRollbackInterceptor.invoke(NuclosRemoteRollbackInterceptor.java:56)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
    at $Proxy69.tryVirtualEntitySelect(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.remoting.support.RemoteInvocation.invoke(RemoteInvocation.java:205)
    at org.nuclos.server.common.NuclosRemoteInvocationExecutor.invoke(NuclosRemoteInvocationExecutor.java:32)
    at org.springframework.remoting.support.RemoteInvocationBasedExporter.invoke(RemoteInvocationBasedExporter.java:78)
    at org.springframework.remoting.support.RemoteInvocationBasedExporter.invokeAndCreateResult(RemoteInvocationBasedExporter.java:114)
    at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.handleRequest(HttpInvokerServiceExporter.java:73)
    at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:49)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:366)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:177)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.nuclos.server.security.SessionInvalidationFilter.doFilter(SessionInvalidationFilter.java:76)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:167)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)

    bei folgender View:


    SELECT
    (1):: NUMERIC AS intversion,
    'rgt' :: CHARACTER VARYING AS strcreated,
    'rgt' :: CHARACTER VARYING AS strchanged,
    '2012-01-01 19:45:51' :: TIMESTAMP WITHOUT TIME ZONE AS datcreated,
    '2012-01-01 19:45:51' :: TIMESTAMP WITHOUT TIME ZONE AS datchanged,
    (taxonomy_term_data.tid):: NUMERIC AS intid,
    taxonomy_term_data. NAME,
    taxonomy_term_data.description,
    taxonomy_term_data.format,
    taxonomy_term_data.weight
    FROM
    otherschemata.taxonomy_term_data
    WHERE
    (
    taxonomy_term_data.vid = 4
    )

    #5675
    Markus Glitzner
    Teilnehmer

    Hat der nuclos Benutzer Zugriff auf das Ticketsystem und die View bzw. Tabellen?

    #5676
    Jan Giebels
    Teilnehmer

    Yep, die View wurde mit dem Datenbankuser für nuclos erzeugt, in dem Schemata in dem auch die anderen Nuclos Views sind.

    #5733
    Stefan Geiling
    Teilnehmer

    Siehe bitte auch https://www.nuclos.de/index.php/de/forum/allgemeines-zu-nuclos/4813-alternative-zu-subforms#4820.
    Hier ist das Vorgehen zum Nutzen virtueller Entitäten beschrieben.

    Die obigen Views schauen korrekt aus. Unter der 3.4 kann ich den Fehler nicht nachvollziehen.
    Sollte der Fehler dort weiterhin auftreten, müsste man das über ein Ticket im IssueTracking eskalieren und das Ganze dann auch korrekt mit SQLServer und einem weiteren Schema testen.

    Viele Grüße,
    Stefan

Ansicht von 9 Beiträgen - 1 bis 9 (von insgesamt 9)