Components | All | New | MacOS | Windows | Linux | iOS | ||||
Examples | Mac & Win | Server | Client | Guides | Statistic | FMM | Blog | Deprecated | Old |
SQL.NewConnection
Initialize a new SAConnection object and returns Connection Reference.
Component | Version | macOS | Windows | Linux | Server | iOS SDK |
SQL | 2.6 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Parameters
Parameter | Description | Example | Flags |
---|---|---|---|
ID | The ID to use instead of default one. Must be unique. If none is provided, the plugin will create one. |
Optional |
Result
An error or a connection reference number.
Description
Initialize a new SAConnection object and returns Connection Reference.The Connection represents a database connection. You must have a connection before you can operate on the database - furthermore the connection needs to be connected. It is important to note that connection objects are not connected during construction - it is up to the user to explicitly call Connect method for the object after it is created and before it is used. Once connected, a connection object is normally shared by the other objects that require a connection (e.g. commands).
Use SQL.FreeConnection to release connection after you finished.
read also:
https://www.sqlapi.com/ApiDoc/class_s_a_connection.html
SQL connection reference numbers are starting at 22000 and counting up for each new connection.
Examples
Create new connection
$Connection = MBS("SQL.NewConnection")
Connect to MySQL and run a query:
#Start a new connection
Set Variable [$Connection; Value:MBS("SQL.NewConnection")]
#Tell plugin where MySQL library is (put it where you like)
Set Variable [$result; Value:MBS("SQL.SetConnectionOption"; $Connection; "MYSQL.LIBS"; "/Users/cs/Desktop/libmysqlclient.dylib")]
#Connect to a mysql database:
Set Variable [$result; Value:MBS("SQL.Connect"; $Connection; "192.168.11.51@Server_Config"; "user"; "password"; "MySQL")]
If [$result ≠ "OK"]
#Connection failed
Show Custom Dialog ["Error: " & $result]
Set Variable [$result; Value:MBS("SQL.FreeConnection"; $Connection)]
Halt Script
Else
#Create a query:
Set Variable [$Command; Value:MBS("SQL.NewCommand"; $Connection; "SELECT * FROM Server_Config where ServerName=:Name")]
#If you use parameters, you can fill them here
Set Variable [$r; Value:MBS("SQL.SetParamAsText"; $Command; "Name"; "MacMini")]
#Execute it
Set Variable [$result; Value:MBS("SQL.Execute"; $Command)]
If [$result ≠ "OK"]
Set Field [MySQL Query::Result; $result]
Show Custom Dialog ["Error: " & $result]
Else
Set Variable [$lines; Value:""]
Set Variable [$fieldcount; Value:MBS("SQL.FieldCount"; $command)]
Loop
#call FetchNext to get the next record
Set Variable [$result; Value:MBS("SQL.FetchNext"; $Command)]
Exit Loop If [$result ≠ 1]
Set Variable [$line; Value:""]
Set Variable [$i; Value:1]
Loop
#We query field names and values to show them later
Set Variable [$v; Value:MBS("SQL.GetFieldAsText"; $command; $i)]
Set Variable [$n; Value:MBS("SQL.GetFieldName"; $command; $i)]
Set Variable [$line; Value:$line & $n & ": " & $v & ¶]
Set Variable [$i; Value:$i+1]
Exit Loop If [$i > $fieldCount]
End Loop
Set Variable [$lines; Value:$lines & ($line & ¶)]
End Loop
Set Variable [$lines; Value:$lines & ¶]
Show Custom Dialog ["Result from Query:"; $lines]
End If
#Cleanup
Set Variable [$result2; Value:MBS("SQL.FreeCommand"; $Command)]
End If
Set Variable [$result2; Value:MBS("SQL.FreeConnection"; $Connection)]
See also
- SQL.FreeConnection
- SQL.GetConnectionTag
- SQL.isAlive
- SQL.isConnected
- SQL.ResetConnection
- SQL.ServerVersion
- SQL.SetAutoCommit
- SQL.SetConnectionTag
- SQL.SetIsolationLevel
- SQL.SetParamAsText
Example Databases
- SQL to other databases/Firebird Query
- SQL to other databases/Microsoft Access Execute
- SQL to other databases/Microsoft SQL Server Connect
- SQL to other databases/MySQL example
- SQL to other databases/MySQL Query
- SQL to other databases/ODBC Query
- SQL to other databases/ODBC to FIleMaker/ODBC Test
- SQL to other databases/PostgreSQL Query
- SQL to other databases/SQLite blob
- Third Party/FileMaker Snippet Storage
Blog Entries
- Moving data from ODBC to FileMaker via script
- Transactions with SQL functions
- Connect to an external database server in FileMaker
- Using TLS when connecting to MySQL server
- MBS FileMaker Plugin IDs
- Tip of the day: Connect to MySQL and run a query
- MBS FileMaker Plugin, version 6.4pr7
- Connecting to Microsoft Visual FoxPro
FileMaker Magazin
This function checks for a license.
Created 18th August 2014, last changed 10th January 2020