ODBC対応開発ツールで開発する場合に、運用時によくある質問と、その回答について説明します。
ODOS接続(Accessのクエリ機能)によるTIME型の条件指定の記述方法は?
Symfoware Serverの仕様では、SQL文の文字列定数の場合には“TIME ‘12:53:15’”と記述しますが、変数指定を使用する場合には文字列データ“12:53:15”として扱う必要があります。
Accessでもクエリの検索条件に指定する窓は文字列データとして扱うようになっています。
そのため、検索条件には文字列の表現で指定してください。
12:53:15
ODOS接続で、Accessを使ってTIME型のデータを表示する場合の注意事項は?
Accessでデータベースのデータを参照した場合、Accessの仕様で、TIME型のデータに検索日の日付が付加される場合があります。
日付のデータは、Accessの表示設定を変更することで表示の有無を変更できます。
Accessプロジェクト画面で、Symfowareのデータを参照しているリンクテーブルを右クリックする。
「デザインビュー」をクリックして、ポップアップされた画面で、「はい」をクリックする。
デザインビューで、TIME型の列を選ぶ。
「フィールドプロパティ」で、「書式」のドロップダウンリストから、「時刻(L/M/S)」を選択する。
デザインビューを閉じて、変更したテーブルの構成を保存する。
ASPアプリケーションから、VBScriptを使用してTIME型のデータを表示する際、時間だけを表示するには?
以下の方法で時間だけを表示することができます。
表示形式 | 方法 |
---|---|
AMPM h:mm:ss | VBScriptのFormatDateTime関数を使用してTime型データを表示 |
h:mm | VBScriptのFormatDateTime関数を使用してTime型データを表示 |
h:mm:ss | SQL文のCAST指定でTime型データを取り出す |
RDOやADOでのトランザクション制御はコネクション単位で行います。
以下に、RDOとADOのトランザクション制御のサンプルアプリケーションの例を示します。
'オブジェクト宣言 Dim Env As rdoEnvironment Dim Con As rdoConnection 'rdoEnvironmentオブジェクトの生成 Set Env = rdoEngine.rdoEnvironments(0) On Error GoTo ErrorProc '1. コネクション接続 Set Con = Env.OpenConnection("DSN01", rdDriverNoPrompt, _ False, "UID=USER01;PWD=PASS01;") '2. SET TRANSACTION文を実行する Con.Execute "SET TRANSACTION READ WRITE, ISOLATION LEVEL READ COMMITTED", rdExecDirect '3. トランザクション開始 Con.BeginTrans 'データ操作を行う処理を記述 '4. コミット Con.CommitTrans '5. コネクション切断 Con.Close '6. オブジェクトの破棄 Set Con = Nothing Set Env = Nothing Exit Sub 'エラー処理 ErrorProc: '4. ロールバック Con.RollbackTrans 'エラー処理ルーチンを記述します
'オブジェクト宣言 Dim Con As Connection 'Connectionオブジェクトの生成と設定 Set Con = New Connection Con.ConnectionString = "DSN=DSN01;UID=USER01;PWD=PASS01;" On Error GoTo ErrorProc '1. コネクション接続 Con.Open '2. アクセスモードの設定 Con.Execute "SET TRANSACTION READ WRITE", , adCmdText '3. IsolationLevelの設定 Con.IsolationLevel = adXactReadCommitted '4. トランザクション開始 Con.BeginTrans 'データ操作を行う処理を記述 '5. コミット Con.CommitTrans '6. コネクション切断 Con.Close '7. オブジェクトの破棄 Set Con = Nothing Exit Sub 'エラー処理 ErrorProc: '5. ロールバック Con.RollbackTrans 'エラー処理ルーチンを記述
ODBCドライバ使用時の注意事項は?
ODBCドライバを使用する場合には、以下の注意事項があります。
VisualBasic、Accessなどのリモートデータベースアクセス(RDA-SV)を行う場合、トランザクション命令を発行するようなプロシジャルーチンを呼び出すことはできません。呼び出した場合、トランザクション管理文(COMMIT文、ROLLBACK文)はエラーになります。