[alg]MS-SQL database vullen via website

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 13-09 21:05
Ik zal, als vervolg op de twee gesloten topics, meer info uit de doeken doen omtrent de gemaakte keuzes en zoekacties. Let op, dit is geen script-request maar een vraag om advies.

1) De reden voor XML is dat ik dan altijd dezelfde datastructuur heb en dit goed same zou werken met SQL-server. Ik zit hier niet aan vast, ik kan ook gewoon een .txt-file gebruiken. Het kan zijn dat deze keuze niet de juiste/beste is, wellicht door gebrek aan kennis van XML. Nogmaals alle opties zijn hier nog mogelijk.

2) Het maken van de website is niet zo spannend. Ik heb ondertussen als gevonden/gemaakt hoe ik met JAVAscript een XML-bestand kan maken, dus dit is niet het probleem.

3) De klant heeft liever niet dat er allerlei poorten opengezet moeten worden in zijn beveiliging dus direct data invoeren vanaf de website is niet toegestaan. Webservices zou inderdaad een optie zijn als mijn kennis dit zou toelaten. De bereidheid is er wel om dit te onderzoeken, maar dit is ok afhankelijk van jullie advies.

4) Middels openxml heb ik gevonden dat er in een query XML-data ingevoerd kan worden. Op zich hardstikke bruikbaar, maar ik kan niet achterhalen hoe ik dit kan realiseren door het toepassen van een extern bestand, dus het bestand dat vanaf de website wordt aangemaakt.

Concreet de vraag: is het mogelijk om bovenstaande te doen zonder gebruik te maken van eigen gemaakte tooltjes. Het is wel een optie om zo'n import-scriptje te maken, maar liever direct vanaf de SQL-server. Is de gekozen methode werkzaam of adviseren jullie toch gebruik te maken van webservices, met de beveiligingseis in het achterhoofd.

@Mod, ik hoop dat dit topic open kan blijven, 't is geen request van een script maar hoofdzakelijk een vraag om advies !!

b.v.d.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
pkouwer schreef op vrijdag 08 oktober 2010 @ 22:26:
1) De reden voor XML is dat ik dan altijd dezelfde datastructuur heb en dit goed same zou werken met SQL-server. Ik zit hier niet aan vast, ik kan ook gewoon een .txt-file gebruiken. Het kan zijn dat deze keuze niet de juiste/beste is, wellicht door gebrek aan kennis van XML. Nogmaals alle opties zijn hier nog mogelijk.
Waarom wil je eerst in een XML/txt/whatever file gaan liggen klooien? Heb je überhaupt al eens de moeite genomen de links aan te klikken die ik je gaf? Je kunt met een half uurtje tutorial volgen al een werkend formulier hebben dat je zo rechtstreeks een DB in knalt. Daar heb je geen bestanden voor nodig.
pkouwer schreef op vrijdag 08 oktober 2010 @ 22:26:
2) Het maken van de website is niet zo spannend. Ik heb ondertussen als gevonden/gemaakt hoe ik met JAVAscript een XML-bestand kan maken, dus dit is niet het probleem.
En dat is relevant voor je topic omdat... :?
pkouwer schreef op vrijdag 08 oktober 2010 @ 22:26:
3) De klant heeft liever niet dat er allerlei poorten opengezet moeten worden in zijn beveiliging dus direct data invoeren vanaf de website is niet toegestaan.
Wie heeft het over poorten open zetten :?
pkouwer schreef op vrijdag 08 oktober 2010 @ 22:26:
Webservices zou inderdaad een optie zijn als mijn kennis dit zou toelaten. De bereidheid is er wel om dit te onderzoeken, maar dit is ok afhankelijk van jullie advies.
Ah, nu komt de aap uit de mouw, denk ik. Je hebt de website ergens gehost (zeg, Amsterdam) en wil 't in een DB bij de klant op de zaak (zeg, Groningen) ofzo opslaan? En ja, dat kan met een webservice bijvoorbeeld. En nog op 1001 andere manieren.
pkouwer schreef op vrijdag 08 oktober 2010 @ 22:26:
4) Middels openxml heb ik gevonden dat er in een query XML-data ingevoerd kan worden. Op zich hardstikke bruikbaar, maar ik kan niet achterhalen hoe ik dit kan realiseren door het toepassen van een extern bestand, dus het bestand dat vanaf de website wordt aangemaakt.
Je kunt een programmaatje maken dat op gezette tijden (cronjob of weet ik het wat) op de zaak bij de klant draait en even contact opneemt met de website. Als je die website de data laat uitspugen die daar is ingevoerd (dus dan heb je achter je website ook een (kleine) DB) sinds de vorige poll (en of dat dan XML is of JSON of SOAP of whocares) dan kan dat programmaatje de zooi binnen trekken en in de DB op de zaak mikken.
pkouwer schreef op vrijdag 08 oktober 2010 @ 22:26:
Concreet de vraag: is het mogelijk om bovenstaande te doen zonder gebruik te maken van eigen gemaakte tooltjes.
Ja, ook wel. Maar je zult allicht iets moeten "maken". Je kunt ook een Access DB nemen en die verbinden met de webserver en die de gegevens eruit laten plukken.
pkouwer schreef op vrijdag 08 oktober 2010 @ 22:26:
Het is wel een optie om zo'n import-scriptje te maken, maar liever direct vanaf de SQL-server.
Ook SQL server kent "jobs" waarin je taken kunt laten uitvoeren ja. Lees anders gewoon de documentatie eens :? Maar hebben we het hier überhaupt wel over SQL Server, of "een SQL server"?
edit:
Ah, de topictitel verheldert dat iig :P

Afhankelijk van de versie van SQL server kun je dan eens gaan kijken naar DTS of IS
pkouwer schreef op vrijdag 08 oktober 2010 @ 22:26:
Is de gekozen methode werkzaam of adviseren jullie toch gebruik te maken van webservices, met de beveiligingseis in het achterhoofd.
Ik denk dat ik nu iets ga zeggen dat je liever niet hoort: Als de klant "beveiligings eisen" heeft en je hebt zelf nog niet echt een idee hoe je zoiets basics oppakt dan is het misschien wel veel verstandiger de klus even over te laten / uitbesteden aan iemand die dat wel heeft. Niet lullig bedoeld, maar je topics schitteren door verwarring, alle relevante informatie moeten we maar "raden" en laat je achterwege (zoals dat de DB dus naar wat ik nu begrijp elders staat) en je hebt zelf nog lang niet helder wat je nou precies wil.
pkouwer schreef op vrijdag 08 oktober 2010 @ 22:26:
@Mod, ik hoop dat dit topic open kan blijven, 't is geen request van een script maar hoofdzakelijk een vraag om advies !!
Bij deze.

Verder: Je gaat nu in dit topic verder op de vorige 2 (gesloten) topics. Het was handiger geweest als je alle relevante informatie even in dit topic had gezet; nu moet iedereen eerst weer die andere 2 topics erbij gaan sprokkelen en van die verzamelde brei proberen hout te snijden...

En tot slot nog een titelfix: [alg]MS-SQL database vullen via website - poging 3

[ Voor 7% gewijzigd door RobIII op 08-10-2010 22:56 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 13-09 21:05
om even te reageren op je reactie:

- ik heb een database die bij de klant intern draait en hij wil niet hebbe dat deze direct te vulen is vanaf de website. Dus ik zal iets moeten maken om dit wel te kunnen. Deze actie komt dus "van binnen uit", althans zo stel ik het me even simpel voor. Dat dit basis is is wel kort door de bocht: ieder heeft z'n eigen skills....zo ook ik.

de keuze voor XML is een eerste opzet en, zoals in het topic vermeld, geen vaste keuze waarbij ik vrij ben om dit in te vullen. Aangezien er geen directe connectie mag zijn met de "interne" database, zal ik iets mt tekstbestanden/xml/access moeten doen. Dit is mij bekend, advies is hier dus welkom.

het vermelden van de bevindingen omtrent de website icm javascript is gedaan om aan te geven dat ik niet helemaal achterover heb geleund. Er is zeker wat uitgezocht, en ja dat is op basis van mijn gedachte om XML te gebruiken. Verkeerde keus ? OK, is mogelijk...

Dat MSSQL jobs ondersteund (al dan niet met de SQL Agent) is mij al lang bekend. Het gaat er in hoofdzaak om dat in de voorbeelden op Internet veelal de XML-data in de query zelf staat en deze als 1 veld in de tael gestopt wordt. Wens: de XML-velden in de tabel inserten, in verschillende velden (veld voornaam, veld achternaam, veld bedrijfsnaam etc).

de opmerking om de klus te laten liggen negeer ik maar even, ook niet lullig bedoeld.

ik weet heel goed wat ik wil en als ik dit topic zo teruglees denk ik dat het duidelijk is wat ik wil en waar de knelpunten liggen

Acties:
  • 0 Henk 'm!

  • keesdewit
  • Registratie: December 2003
  • Laatst online: 19-06 20:46
Het maken van de website is niet zo spannend. Ik heb ondertussen als gevonden/gemaakt hoe ik met JAVAscript een XML-bestand kan maken, dus dit is niet het probleem.
Javascript heeft niet de mogelijkheid om binnen de standaard beveiliging een bestand aan te maken op de client. Javascript draait op de client. Je kunt hoogstens een xml document in het geheugen op de client aanmaken en deze via xmlhttp naar de server sturen.

Om via openxml een xml bestand van een locatie te laden kun je gebruik maken van SQL CLR: http://en.wikipedia.org/wiki/SQL_CLR Met SQL CLR kun je assemblies voor MSSQL server maken die bijvoorbeeld over een HTTP request xml bestanden binnen haalt en deze doorgeeft als xml datatype naar de database server, zodat je deze binnen een stored procedure (als bijvoorbeeld user defined function) kan gebruiken voor openxml.

Simpelste is toch echt om via ASP/PHP whatever, de database rechtstreeks vanaf het formulier te vullen. http://www.connectionstrings.com/sql-server-2008

Als je toch echt via die omweg bestanden wilt uitwisselen dan moet je er ook zeker van zijn dat het toegangspunt (b.v. via http) waar de op te halen bestanden staan op een bepaalde manier is beveiligd (.htaccess, basic autentication, etc)

[ Voor 5% gewijzigd door keesdewit op 10-10-2010 11:11 ]


Acties:
  • 0 Henk 'm!

  • yade
  • Registratie: Mei 2002
  • Laatst online: 16-07 13:47
Vanuit mijn mindset, als programmeur zijnde, zou ik een service schrijven die regelmatig naar een directory kijkt. Vervolgens de xml bestanden inleest, en na behandeling met een parser de gegevens in de database schrijft.

Dit zou mij max. 1 uur kosten om te schrijven. Als er snellere methoden zijn, dan zijn die me niet bekend, en als ik er langer dan 10 minuten voor moet zoeken zou ik het opgeven.

Vanuit MSSQL kan het ook wel, je kunt de file parsen en met een SELECT op de XML en een INSERT statement dit volledig in de server oplossen. Maar dat is niet hoe ik het zou doen iig. ;)

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 14:43

Creepy

Tactical Espionage Splatterer

Je geeft een lang en niet compleet samenhangend verhaal en concreet wordt je nooit. Mij zijn je knelpunten niet duidelijk. Advies van RobIII sla je in de wind en je lijk al precies te weten wat je wilt maken. Dus wat let je? Wat is nu daadwerkelijk je probleem om dit af te ronden? Als je niet concreter gaat worden dan heeft het topic erg weinig nut.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • keesdewit
  • Registratie: December 2003
  • Laatst online: 19-06 20:46
@yade: Een user defined functie voor mssql maken die via http xml berichten kan binnen halen lukt mij ook wel binnen een uurtje. Even een job aanmaken die op bepaalde tijden draait en je bent klaar.

[ Voor 21% gewijzigd door keesdewit op 10-10-2010 11:16 ]

Pagina: 1