Forum - Beitrag anzeigen

Archiv Spectra - RE: Fehlermeldung in application.log

Icon Pfeil Startseite Icon Pfeil Kategorie Icon Pfeil Suche

Icon Forum Beitrag vom 22.04.2002 14:16 (1498 Aufrufe)
Name: Hendrik Kramer
Titel: RE: Fehlermeldung in application.log
Inhalt: >Hallo NG,
>
>ich habe eine Fehlermeldung in der application.log ich ich nicht 100% ig zuordnen kann.

Diese Fehlermeldung ist grds. bei Spectra "normal", d.h. gewollt. Spectra kann mit verschiedenen Datenbanksystem arbeiten (SQL-Server, IBM DB/2, Oracle). Jede Datenbank muss aber anders angesprochen werden, wenn es um LongChar Spalten geht, die Spectra intensiv verwendet. Über einen Test mit verschiedenen SQL-Statements findet Spectra jetzt beim Start einer Applikation heraus, welches Datenbanksystem verwendet wird, in dem es datenbankeigene Tabellen versucht abzufragen.

Dies geschieht in zwei Dateien:

c:\programme\allaire\spectra\handlers\system\application\initialize.cfm

Zeile 154 - 239. Kann man auskommentieren und durch das passende ersetzen. Z.B. bei SQL Server:

<cfset spectraApp.longDataType = "longvarchar">
<cfset spectraApp.bUseClob = FALSE>

c:\programme\allaire\spectra\customtags\system\coapi\utils\cfa_datasourcegetdbms.cfm

Hier ist die ganze Datei überflüssig. Dieser Tag prüft für jede angemeldete Datenquelle, um welche Datenbank es sich handelt. Ich habe das gekürzt, da bei uns jede Datenbank auf SQL Server basiert und sich das so schnell nicht ändert. Zurückgegeben werden muss:

server.cfa.dataSources[DS] = StructNew() ;
server.cfa.dataSources[DS].DBMS = DBMS ;
server.cfa.dataSources[DS].bUseClob = bUseClob ;

und

<cfset "caller.#attributes.r_DBMS#" = DBMS>
<cfif isdefined("attributes.r_bUseClob")>
<cfset "caller.#attributes.r_bUseClob#" = bUseClob>
</cfif>

Bringt auf jeden Fall mehr Geschwindigkeit beim SQL-Server (auch wenn es anfangs Fummelarbeit ist), da dieser bei fehlerhaften Abfragen (wie diese) zum Teil ewig braucht, bis er die Fehlermeldung rauswirft und Spectra weitermachen kann. Wenn Du an diese Dateien herankommst (wohl schwierig, wenn sie beim Hoster liegen), ändere beide.

>------
>"Error","11","04/22/02","05:09:34",,"ODBC Error Code = S0002 (Base table not found)<P> [Sybase][ODBC Driver][Adaptive Server Anywhere]Table or view not found: Table 'ALL_TAB_COLUMNS' not found<P><P> SQL = ""select DATA_TYPE from ALL_TAB_COLUMNS where TABLE_NAME = 'OBJECTS' and COLUMN_NAME = 'OBJECTDATA' and OWNER = 'DBA'"" "


>Da das System leider extern gehostet wird habe ich leider keine genauen Infos und kann somit nur sagen das eine Oracle Datenbank im Hintergrund läuft.

Bist Du sicher, dass Oracle läuft? Die DB-Fehler werden zumindest vom mitgelieferten Sybase Adaptive Server Anywhere ausgegeben. Diese Datenbank solltest Du tunlich nicht verwenden, weil sie viel, viel zu langsam ist. Da macht Spectra dann wirlich keinen Spass mehr.

Für Oracle oder was auch immer musst Du die Werte für DBMS und bUseClob selber herausfinden (am besten einmal das Tag aufrufen und die Werte ausgeben, dann fest setzen.

Ansonsten -wie oben bereits gesagt- ist es kein Bug, sondern ein Feature.



--
Hendrik Kramer <hkramer@vrg.de>
Teamleiter Web Application Development [VRG E-Solution]
VRG - Vereinigte Rechenzentren GmbH
Mittelkamp 110-118 , 26125 Oldenburg
Tel. (0441) 3907-178 | Fax (0441) 3907-6-178
http://www.e-solution.vrg.de/

Antworten
Icon Forum Fehlermeldung in application.log (Mike, 22.04.2002 10:06)
   Icon Forum RE: Fehlermeldung in application.log (Hendrik Kramer, 22.04.2002 14:16)

Bitte melden Sie sich kostenlos an, um eine Antwort auf diesen Beitrag zu erstellen.


Das deutsche ColdFusion-Forum cfml.de ist das Portal für Einsteiger und Experten zum Thema ColdFusion und der ColdFusion Markup Language (CFML).

© 2017 Webdesign & Hosting: CHC ONLINE Kassel | SOLVA Content-Management-System CMS
Urlaub-Angebote.de - Urlaub mit Bestpreis-Garantie buchen