- Taz_1999
- Medlem ●
- Stockholm
- 2004-03-24 11:48
Det tog hela natten, men nu har jag löst det jag ville göra: Få FileMaker Pro och MySQL (eller någon annan SQL-databas att prata med varann antingen via ODBC eller JDBC och både på Mac och på PC. Kul!
VAD JAG LYCKATS MED
* I Mac OS X: FRÅN FM (via JDBC) TILL MySQL
FRÅN en FM Pro-databas skicka SQL-kommandon TILL en MySQL-databas (INSERT, SELECT osv), med hjälp av en plugin som heter PDM SQL Plugin och JDBC-drivrutiner som finns på FileMaker Developer-CD'n.
Med detta kan jag bygga frontends i FM mot MySQL. Samma teknik skall enligt tillverkaren även fungera för Oracle, MS SQL, MySQL, PostgreSQL, Sybase, Informix, Virtuoso, och andra JDBC eller ODBC-databaser.
Vad betyder det då? Jo att man kan bygga en lösning, tex en webshop som baserar sig på en MySQL-databas. Sedan kan man låta användarna jobba i ett överlägset GUI för att mata in data och via det fylla på webshoppen med artiklar och kunder och annat, och sedan via FileMaker hämta hem order och kunder och skjuta ut det som fakturor, beställningar, email, exportfiler till ekonomisystem, postens Ebrev mm. Mycket skojigt. Datainmatning via FileMaker kan tack vare script och knappar och annat fluffigt bli mycket mycket effektivare och snabbare än vad man kan åstadkomma i ett webbgränssnitt. Så på det viset får man det bästa från två världar, snabbheten och stabiliteten i MySQL och det snabba lättarbetade GUI't för användarna.
I Windows 2000: FRÅN ETT SQL-verktyg (via ODBC) TILL FM
Få ett freeware som heter CuteSQL (finns på http://www.versiontracker.com/windows/) skicka SQL-kommandon TILL en FM-databas (SELECT, INSERT osv) endast med hjälp av de ODBC-drivrutiner som medföljer FileMaker Pro respektive Windows.
Eftersom det finns stöd i Microsoft SQL Server för att skicka SQL-kommandon via ODBC till valfri datakälla, så betyder det att man alltså kan skapa en Stored Procedure som skickar SQL-kommandon till FileMaker, och på det viset synkroniserar data mellan MS SQL och FileMaker. Motsvarande kommandon har jag inte hittat i MySQL.
Vad betyder det då? Jo då det finns ett antal system på marknaden för tex säljstöd (ett heter tex Alladin) som är baserat på MS SQL Server så kan man när man i säljstödssystemet har producerat ett avslut, dvs en order, automatiskt skjuta in den i ett annat FileMaker Pro-basera Backoffice-system med fiffiga funktioner som man inte kostnadseffektivt kan bygga i MS SQL.
I teorin: FRÅN FM (via ODBC) TILL SQL-databas
* I teorin bör det gå att FRÅN FileMaker (i Mac OS X eller Windows) skicka SQL-kommandon via ODBC till en antingen Oracle eller SQL Server, för där är det bara att lägga in ett script-steg i ett manus efter att man konfigurerat ODBC, vilket är lätt. Men då jag inte har varken SQL Server eller Oracle så har jag inte kunnat prova, men ser att det i FM är tänkt så.
Med detta kan jag bygga frontends i FM som jobbar mot MS SQL-databaser eller Oracle, bara databasen har en ODBC-drivrutin. Tillgängliga drivisar är MS SQL och Oracle. Det finns flera hos www.openlinksw.com men det verkar vara komplicerat att hitta rätt drivrutin, många varianter har de... Samma resonemang som det jag skrev om först.
VAD JAG MISSLYCKATS MED
Här är vad jag misslyckats med... (av alla återvändsgränder under natten är dessa mest intressanta):
FRÅN en SQL-databas av en tillverkare TILL en annan SQL-databas av en annan tillverkare
* Att lista ut hur man från en SQL-databas från en tillverkare skickar SQL-kommandon till en annan SQL-databas (från en annan tillverkare, eg från MS SQL till MySQL eller v.v), utan att gå via någon specialskriven applikation.
Här har jag nu kollat i mina T-SQL-böcker och i SQL Books Online för MS SQL Server och sett att det finns kommandon och system stored procedures för att ansluta till en ODBC-källa direkt och skicka SQL-kommandon till den. Har INTE hittat sådana kommandon i MySQL-manualen.
Så, det betyder att det bör gå utan vidare mankemang att skriva SQL-kommandon som körs av SQL Server som pratar med en FileMaker Pro databas. Att sätta upp en liten PC med FileMaker och öppna ett större system med massa databaser i den maskinen och låta MS SQL Server hämta och lämna data till den vid tillfälle borde alltså inte vara så speciellt svårt. Det betyder att man lätt kan synka mellan olika system och det kan initieras från valfritt håll, med triggers i MS SQL Server och via script och knappar i FileMaker Pro.
FRÅN FM (via ODBC eller JDBC) TILL FM
* Att få en FileMaker-databas att prata med en annan FileMaker-databas via ODBC eller JDBC och skicka SQL-kommandon dem emellan. Tror inte det är möjligt. Detta har ingen praktiskt betydelse, men hade varit trevligt om det gick att testa så.
Skriv en rad i tråden om ni vill fråga något eller veta mera eller tom hyra in mig för att bygga något roligt!