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

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

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の表示設定を変更することで表示の有無を変更できます。

  1. Accessプロジェクト画面で、Symfowareのデータを参照しているリンクテーブルを右クリックする。

  2. 「デザインビュー」をクリックして、ポップアップされた画面で、「はい」をクリックする。

  3. デザインビューで、TIME型の列を選ぶ。

  4. 「フィールドプロパティ」で、「書式」のドロップダウンリストから、「時刻(L/M/S)」を選択する。

  5. デザインビューを閉じて、変更したテーブルの構成を保存する。

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ドライバを使用する場合には、以下の注意事項があります。