Home › Forum › Nuclos Bedienung › Datenimport/export › Daten aus 2. Datenbank importieren.
- Dieses Thema hat 8 Antworten und 5 Teilnehmer, und wurde zuletzt aktualisiert vor 10 Jahre, 11 Monaten von
Stefan Geiling.
-
AutorBeiträge
-
15 Februar 2012 um 17:28 Uhr #5028
Mario Reuter
TeilnehmerHallo,
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
28 März 2012 um 18:11 Uhr #5380Claudia Mangstl
TeilnehmerHallo !
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ührenSoll 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,
Claudia12 April 2012 um 08:08 Uhr #5491Mario Reuter
TeilnehmerHallo,
das letztere ist das, was ich suche.
Denn der Datnezugriff bzw. Abgleich soll automatisch erfolgen.
29 Mai 2012 um 18:24 Uhr #5641Jan Giebels
TeilnehmerSpiele 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
29 Mai 2012 um 19:23 Uhr #5642Markus Glitzner
Teilnehmerso 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...Artikelso weit ich das sehe ist es bei dir auch nicht viel anders, ev. scheitert es am Datentyp.
Gruß
Hugo3 Juni 2012 um 15:49 Uhr #5674Jan Giebels
TeilnehmerIch 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
)
4 Juni 2012 um 10:41 Uhr #5675Markus Glitzner
TeilnehmerHat der nuclos Benutzer Zugriff auf das Ticketsystem und die View bzw. Tabellen?
4 Juni 2012 um 11:41 Uhr #5676Jan Giebels
TeilnehmerYep, die View wurde mit dem Datenbankuser für nuclos erzeugt, in dem Schemata in dem auch die anderen Nuclos Views sind.
3 Juli 2012 um 14:18 Uhr #5733Stefan Geiling
TeilnehmerSiehe 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 -
AutorBeiträge