Kontakta en MySQL-server med AS eller shellscript

Tråden skapades och har fått 7 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • International user
  • 2004-12-11 17:16

Jag ska göra en liten app som ska kunna kontakta en MySQL-server i nätverket. Appen ska utvecklas i Xcode, AppleScript Studio så långt det är möjligt. Appen ska som sagt kontakta en MySQL-server och sedan läsa/skriva/uppdatera databasen. Jag skulle vilja ha kodexempel. Även kod för shellscript önskas.

  • Medlem
  • International user
  • 2004-12-11 18:01

Googlade och pulade och hittade en OK lösning för AppleScript med 'do shell script'. En lösning för MySQL på samma dator som appen.

do shell script "/usr/local/mysql-standard-4.0.21-apple-darwin7.5.0-powerpc/bin/mysql --user=root --password=tomtenisse --database=wire --skip-column-names -e \"SELECT * FROM  tbl_1\""

the result:

"1	NULL	NULL
2	2005-01-02	53
3	2004-09-30	NULL
4	2004-09-30	40"

En textstäng med en rad för varje record.

  • Medlem
  • International user
  • 2004-12-14 14:05

Jag fortsätter min monolog
Ett sätt att kontakta en remote 'mysqld' är med 'mysql' - klienten(!). Men det känns ju inte så där riktigt "proffsigt", även om man kan göra mycket avancerade utvecklingsprojekt med den metoden. En nackdel är ju att man måste distribuera 'mysql' till alla Mac OS X klientener, som ju inte har den installerad från början. Kodexempel med remote (-h) connection:

/path/to/mysql -h172.0.0.2 -uthe_app -ptomtenisse -e'select * from wire.wire_t1;'

#Öppna db:n för alla i ett kontrollerat nätverk (LITE VARNING!):
GRANT ALL ON *.* TO 'the_app'@'172.0.0.0/255.255.255.0' IDENTIFIED BY 'tomtenisse';
  • Medlem
  • International user
  • 2004-12-14 14:19

MEN, det MÅSTE finnas någon form av kod/framework till Xcode för detta. Det finns några som kostar pengar, men det borde finnas gratis (open source).

  • Medlem
  • International user
  • 2004-12-14 19:17

Bifogar lite AppleScript Studio-kod som får det hela att fungera:

-- MySQL Test.applescript
on clicked theObject
	set the_window to window of theObject
	set sql_bin to "/usr/local/mysql-standard-4.0.21-apple-darwin7.5.0-powerpc/bin/mysql"
	set sql_connect to " -h192.168.0.3 -uwire -ptomtenisse --skip-column-names"
	set sql_query to " -e\"show databases;\""
	set sql_result to do shell script sql_bin & sql_connect & sql_query
	set contents of text view "sql_result" of scroll view "sql_result" of window of theObject to sql_result
end clicked

MainMenu.nib innehåller bara 2 Cocoaobjekt: NSTextView (innesluten i NSScrollView) och en NSButton. Knappen kopplas till scriptet via 'Action>clicked' event handler.
Appen känns riktigt rapp, faktiskt.

Ursprungligen av Wire:

MEN, det MÅSTE finnas någon form av kod/framework till Xcode för detta. Det finns några som kostar pengar, men det borde finnas gratis (open source).

Till xcode? nej det gör det nog inte, men vilket språk är det du letar efter mysql adaptrar till? Jag gissar rent spontant på att det inte finns native i AppleScript (av naturliga/förklarliga skäl), det lättaste är nog perl's DBI:: för vad du verkar försöka åstakomma, bör finnas med som standard i osx perl distriben har jag för mig..

  • Oregistrerad
  • 2004-12-14 20:51
  • Medlem
  • International user
  • 2004-12-14 21:21
Ursprungligen av junkie:

Jo, jag har sett den. Men min kunskap om Objective-C/Cocoa är i princip noll. Alldeles för hög tröskel för mig just nu. För komplicerat. Jag skulle bara behöva en enkel class att anropa. Ungefär som 'mysql' i mitt exempel ovan. Liknande MacSQL Framework från Runtime Labs fast enklare.

1
Bevaka tråden