2017年10月10日火曜日

PowerShell から FileMaker ODBC 経由で索引を作成・削除。|FileMaker ODBC|CREATE INDEX , DROP INDEX|PowerShell

PowerShell から FileMaker ODBC 経由で索引を作成・削除。|FileMaker ODBC|CREATE INDEX , DROP INDEX|PowerShell

FileMaker 16 SQL リファレンスガイド
https://fmhelp.filemaker.com/docs/16/ja/fm16_sql_reference.pdf#page=23

FileMaker xDBC クライアントドライバ が必要。


PowerShell Script|索引作成
[void][System.Reflection.Assembly]::LoadWithPartialName('System.Data');
$connectionString = 'driver={FileMaker ODBC};server=localhost;database=FileName;uid=admin;pwd=;';

$cmd = "CREATE INDEX ON TableName.FieldName";

$odbc_con = New-Object System.Data.Odbc.OdbcConnection($connectionString);
$odbc_con.Open();
$odbc_cmd = New-Object System.Data.Odbc.OdbcCommand;
$odbc_cmd.Connection = $odbc_con;
$odbc_cmd.CommandText = $cmd;

$Result = $odbc_cmd.ExecuteNonQuery();

$odbc_cmd.Dispose();
$odbc_con.Close();
$odbc_con.Dispose() ;
$Result;

PowerShell Script|索引削除
[void][System.Reflection.Assembly]::LoadWithPartialName('System.Data');
$connectionString = 'driver={FileMaker ODBC};server=localhost;database=FileName;uid=admin;pwd=;';

$cmd = "DROP INDEX ON TableName.FieldName";

$odbc_con = New-Object System.Data.Odbc.OdbcConnection($connectionString);
$odbc_con.Open();
$odbc_cmd = New-Object System.Data.Odbc.OdbcCommand;
$odbc_cmd.Connection = $odbc_con;
$odbc_cmd.CommandText = $cmd;

$Result = $odbc_cmd.ExecuteNonQuery();

$odbc_cmd.Dispose();
$odbc_con.Close();
$odbc_con.Dispose() ;
$Result;

0 件のコメント:

コメントを投稿