ページの先頭行へ戻る
Symfoware Server V10.0.0 トラブルシューティング集

8.2.10 ODBC対応開発ツールで開発する(運用)

ODBC対応開発ツールで開発する場合に、運用時によくある質問と、その回答について説明します。

ODOS接続(Accessのクエリ機能)によるTIME型の条件指定の記述方法は?

Symfoware Serverの仕様では、SQL文の文字列定数の場合には“TIME ‘12:53:15’”と記述しますが、変数指定を使用する場合には文字列データ“12:53:15”として扱う必要があります。
Accessでもクエリの検索条件に指定する窓は文字列データとして扱うようになっています。
そのため、検索条件には文字列の表現で指定してください。

12:53:15

ASPアプリケーションから、VBScriptを使用してTIMEのデータを表示する、時間だけを表示するには?

以下の方法で時間だけを表示することができます。

表示形式

方法

AMPM h:mm:ss
午後 3:33:33

VBScriptのFormatDateTime関数を使用してTime型データを表示
FormatDateTime(Time型データ,3)

h:mm
15:33

VBScriptのFormatDateTime関数を使用してTime型データを表示
FormatDateTime(Time型データ,4)

h:mm:ss
15:33:33

SQL文のCAST指定でTime型データを取り出す
SELECT CAST(Time型データ AS CHAR(8)) FROM ~

RDOやADOでトランザクションの設定を行うには?

RDOやADOでのトランザクション制御はコネクション単位で行います。
以下に、RDOとADOのトランザクション制御のサンプルアプリケーションの例を示します。

RDOアプリケーション】
'オブジェクト宣言
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

'エラー処理ルーチンを記述します
【ADOアプリケーション】
'オブジェクト宣言
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ドライバを使用する場合には、以下の注意事項があります。