Seite 1 von 1

SQL Dateiimport mit absolutem Pfad (allow_full_path)

Verfasst: Mo, 18.02.2008 12:56
von Gabriel123
Hallo,

ich habe eine recht lange SQL Anweisung und würde diese gern in mehrere SQL Anweisungen splitten. Ist das möglich? Sonst verlier ich die Übersicht.
Ich hab versucht eine Datei zu importieren welche ich vorab mit dem FileControl auswähle. Leider geht das nicht. Es kommt immer ein Fehler und eine Dopplung des Pfads bei raus.
Es steht dann in der fehlermeldung: c:/tmp/C:/tmp/import01.csv konnte nicht geöffnet werden...
Ich habe gelesen dass es eine PROPERTY allow_full_path geben soll. Wo und wie baue ich die ein? Hat das schon mal jemand gemacht ?
Hier mal mein risen CODE

Code: Alles auswählen

Sub base_insertCSVdatafile

Dim Dialog3 As Object
Dim Dateiname as String
Dim dlgDateiName as Object



DialogLibraries.LoadLibrary("DBImportF4Bib")
Dialog3 = CreateUnoDialog(DialogLibraries.DBImportF4Bib.Dialog3)

Select Case Dialog3.Execute()

Case 1
dlgDateiName=Dialog3.getControl("FileControl1")
Dateiname=dlgDateiName.GetText()
msgbox Dateiname
If Dateiname ="" then 
 msgbox "Nichts gewaehlt!"
 else
sCSVlokal = "01.csv"

GlobalScope.BasicLibraries.LoadLibrary( "Tools" )
sCSVdatei = ConvertToURL( Dateiname )

sMyInsert = "DELETE FROM ""adressenimport"" WHERE ""ID"" > 0 ALTER TABLE ""adressenimport"" ALTER COLUMN ""ID"" RESTART WITH 1 CREATE TEXT TABLE ""TableCSV"" (""Kundennr.""VARCHAR(255),""Vorwahl""VARCHAR(255),""Rufnummer""VARCHAR(255),""Anrede""VARCHAR(255),""Titel""VARCHAR(255),""Vorname""VARCHAR(255),""Name""VARCHAR(255),""Namensergänzung""VARCHAR(255),""Str.""VARCHAR(255),""Hausnr.""VARCHAR(255),""PLZ""VARCHAR(255),""Ort""VARCHAR(255),""E-Mail""VARCHAR(255),""Notiz1""VARCHAR(255),""Notiz2""VARCHAR(255),""Update""VARCHAR(255),""Kundennr.1""VARCHAR(255),""Vorwahl1""VARCHAR(255),""Rufnummer1""VARCHAR(255),""Anrede1""VARCHAR(255),""Titel1""VARCHAR(255),""Vorname1""VARCHAR(255),""Name1""VARCHAR(255),""Namensergänzung1""VARCHAR(255),""Str.1""VARCHAR(255),""Hausnr.1""VARCHAR(255),""PLZ1""VARCHAR(255),""Ort1""VARCHAR(255),""E-Mail1""VARCHAR(255),""Notiz11""VARCHAR(255),""Notiz12""VARCHAR(255)) SET TABLE ""TableCSV"" SOURCE ""'"& sCSVdatei &"';fs=,;encoding=ISO-8859-1"" SET PROPERTY ""TableCSV.allow_full_path""true INSERT INTO ""adressenimport"" (""Kundennr."",""Vorwahl"",""Rufnummer"",""Anrede"",""Titel"",""Vorname"",""Name"",""Namensergänzung"",""Str."",	""Hausnr."",""PLZ"",""Ort"",""E-Mail"",""Notiz1"",""Notiz2"",""Update"",""Kundennr.1"",""Vorwahl1"",""Rufnummer1"",""Anrede1"",""Titel1"",""Vorname1"",""Name1"",""Namensergänzung1"",""Str.1"",""Hausnr.1"",""PLZ1"",""Ort1"",""E-Mail1"",""Notiz11"",""Notiz12"") SELECT ""Kundennr."",""Vorwahl"",""Rufnummer"",""Anrede"",""Titel"",""Vorname"",""Name"",""Namensergänzung"",""Str."",	""Hausnr."",""PLZ"",""Ort"",""E-Mail"",""Notiz1"",""Notiz2"",""Update"",""Kundennr.1"",""Vorwahl1"",""Rufnummer1"",""Anrede1"",""Titel1"",""Vorname1"",""Name1"",""Namensergänzung1"",""Str.1"",""Hausnr.1"",""PLZ1"",""Ort1"",""E-Mail1"",""Notiz11"",""Notiz12"" FROM ""TableCSV"" commit drop table ""TableCSV"""
msgbox sMyInsert

' Kontext holen
Dim oDBKontext
oDBKontext = CreateUnoService ( "com.sun.star.sdb.DatabaseContext" )

If IsNull( oDBKontext ) Then
   msgbox "kein DB Kontext"
   exit sub
End If

' Datenquelle auswählen
' name of OOo registered data source
oDatenquelle = oDBKontext.getByName( "DBImportF4" )
' Verbindung zur DB herstellen
If Not oDatenquelle.IsPasswordRequired Then
   oVerbindung = oDatenquelle.getConnection("" ,"" )
Else
   oInteractionHandler = createUnoService( "com.sun.star.sdb.InteractionHandler" )
   oVerbindung = oDatenquelle.connectWithCompletion( oInteractionHandler )
End If

' Statement erzeugen
oStatement = oVerbindung.createStatement

' Abfrage absetzen
oResultSet = oStatement.executeUpdate( sMyInsert )
EndIF
Case 0

		
End Select
Dialog3.dispose()

End Sub

Re: SQL Dateiimport mit absolutem Pfad (allow_full_path)

Verfasst: Do, 21.02.2008 08:28
von komma4
wenn ich das richtig sehe ist das eine Einstellung, die Du dem HSQLDB-Server verpassen kannst....

Re: SQL Dateiimport mit absolutem Pfad (allow_full_path)

Verfasst: Do, 21.02.2008 08:46
von Gabriel123
fragt sich nur wie und wo ?!=)

Re: SQL Dateiimport mit absolutem Pfad (allow_full_path)

Verfasst: Sa, 23.02.2008 11:19
von Barlee
Hallo Gabriel123,

probier mal folgendes:
Suche nach einer Datei namens server.properties und trage dort textdb.allow_full_path ein.
Unter Opensuse z.B. liegt sie unter /var/lib/hsqldb/

Gruß Barlee

Re: SQL Dateiimport mit absolutem Pfad (allow_full_path)

Verfasst: Mi, 27.02.2008 10:46
von Gabriel123
Danke für den Hinweis aber auch hier nichts zu finden...

Re: SQL Dateiimport mit absolutem Pfad (allow_full_path)

Verfasst: Mi, 27.02.2008 11:58
von komma4
Du hast einen HSQLDB-SERVER installiert?
In welches Verzeichnis?


Wo hast Du die Datei server.properties gefunden?