HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 ファイル一覧 検索 過去ログ

ログ内検索
・キーワードを複数指定する場合は 半角スペース で区切ってください。
・検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
・[返信]をクリックすると返信ページへ移動します。 (*過去ログは表示されません)
・過去ログから探す場合は検索範囲から過去ログを選択。

キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 | 1 | 2 | 3 | 4 >>
■5602  Re[19]: 日本語未対応?
□投稿者/ hidetake -(2010/02/02(Tue) 10:33:44)
    パスワード:[kiri] 


    >>最初の &STR を定義する項目を除けば、データを取得
    >>するために定義できる項目数は 1,999項目
    > これって手作業ですか? (^^;
    > 20項目程であきらめたのですが

    計算式に設定したうえで、項目名を「項目」 と設定し、
    計算式に " " と入力。次に、行セレクタで行を選択の
    うえ、「編集」で「コピー」。あとは、終端行でひた
    すら Ctrl + V を押し続けるだけ。連番は桐が勝手に
    付け加えてくれます。

    ただ、外部DBには表定義の書き出しや読み込みも無い
    ので、一度設定したものをあとで編集したりするのは
    困難です。
記事No.5556 のレス /過去ログ36より / 関連記事表示
削除チェック/

■5188  外部dbでのロック
□投稿者/ 尾形 -(2009/09/29(Tue) 17:42:57)
    パスワード:[kiri] 


    何度もすいません。またよろしくお願いします

    自分は年度別に伝票番号をつけています
    主キー(id)とは別に管理したいと思っています

    伝票番号を管理するテーブルから番号を+1して
    取得しようとする処理を考えた場合に困ってしまいました
    今のこの値は最新なのか? 
    値を信用できないので大変です

    「ロック」コマンドは外部DBで使えないですよね
    「トランザクション」でのみロックを制御できるように思いました
    ロックしたい行に架空のデータを書き込みして(ロック掛けて)
    別クエリーで最新を引いてくればいいかなと思っています
    (再抽出ではダメ)


    トランザクション 開始
    結合  "伝番ロック用.XVW",,表番号=1
    代入  &最大値=#乱数(32767)
    行訂正 終了状態=&秒,[work]=&最大値
    結合  "伝番更新用.XVW",,表番号=2
    行訂正 [伝番]=[伝番]+1
    代入  &伝番=[伝番]
    編集表 1
    行訂正 [work]=""
    トランザクション コミット


    なんか気に入らないのですが
    ロックをスマートに掛ける良い方法ってないのでしょうか
親記事 /過去ログ36より / 関連記事表示
削除チェック/

■5190  Re[1]: 外部dbでのロック
□投稿者/ hidetake -(2009/09/30(Wed) 13:18:25)
    パスワード:[kiri] 


    2009/09/30(Wed) 13:27:36 編集(投稿者)

    > 「トランザクション」でのみロックを制御できるように思いました

    何故に「外部DB」で「トランザクション」が有効に働くと
    思われたのかな?


    さて、
    > 今のこの値は最新なのか? 
    > 値を信用できないので大変です
    新規に追加したい番号を取得したいのなら、シーケンスに
    設定した id に自分がこれからデータを追加するよと
    データを追加し(この追加の際に)自分を特定できる情報と
    今回の書き込みの情報も埋め込んで置いて、サーバ側に
    id は付けてもらい、そのデータを取ってくれば、自分用
    の id が得られるのでは?

    実際の伝票の追加が(編集の)途中で破棄される(事が多い)
    のならば、伝票をまず仕立てておいて、実際に書き込む際
    に自分用の番号を取ってくるとか。

    流れで言うと

    サーバで
    ---------------------------
    CREATE TABLE "DENBAN" (
    id serial8 primary key,
    userid text);
    ---------------------------
    のテーブルを用意。

    クライアントには自分のデータを書き出しするための
    テーブルとしてワークテーブルを用意
    denban.tbl
    [id]
    [userid]
    このテーブルには、外部DB書き出しする条件を登録。
    条件は、テーブル名 DENBAN、書き出し項目 [userid]、
    書き出しは「追加」で指定。
    # PostgreSQL は大文字のテーブル名で無いと追加
    # できないので DENBAN とした。

    最新の自分用の id 取得用に "denbanget.xvw" を
    作成し、id と userid を設定。 userid の抽出条件に
    パラメータ変数 &userid を設定し、この条件にあう
    ものだけを抽出するようにする。

    あとは
    --------------------------------------------
    変数宣言 整数{&hODBC,&Ret} \
    ,文字列{&userid}

    外部DB 接続,ODBC="hoge" \
    ,ユーザ名=""\
    ,パスワード="" \
    ,接続ハンドル=&hODBC \
    ,終了状態=&Ret

    表 "denban.tbl"
    行削除 *,圧縮,終了状態=&Ret

    &userid=#WSNAME+"-"+#ユーザ名+"-"+#日時文字列(#日時値,11,4,2)

    行追加 終了状態=&Ret \
    ,[userid]=&userid

    書き出し 外部DB \
    ,条件名="denbanset" \
    ,引継ぎ=する \
    ,終了状態=&Ret
    終了 表 編集対象表

    結合 "denbanget.xvw" \
    , \
    ,変数使用=する \
    ,終了状態=&Ret

    確認 #str([id])

    外部DB 切断 \
    ,&hODBC \
    ,終了状態=&Ret
    --------------------------------------------
    てな具合に。(細かいことは抜きで)

記事No.5188 のレス /過去ログ36より / 関連記事表示
削除チェック/

■5194  Re[2]: 外部dbでのロック
□投稿者/ 尾形 -(2009/09/30(Wed) 18:42:08)
    パスワード:[kiri] 


    どうも、ありがとうございます

    > 何故に「外部DB」で「トランザクション」が有効に働くと
    > 思われたのかな?
    pc1側でトランザクション開始してから
    「伝番管理」テーブルを行訂正して
    メッセージボックスを出して放置(未コミット状態)
    その状態でpc2側で行訂正しようとしてもできなかったからです

    いくつか方法がある事は分かりました
    自分なりに考えてみます


    (あまりにも連投しているので気がひけています m(__)m )
    気が向いたらアドバイス下さい
    伝票ヘッダに[直納先id]の項目があります
    値を入力する時もあればしない時もあります
    今まではフォーム上で#表引き関数で直納先名は表示していました
    外部dbに対しては#表引き使えないと思います
    そのため、伝票ヘッダと直納先マスタを結合指定しようと思います

    でも結合すると、[直納先id]が入力されている分しか伝票が表示
    されなくなりました
    ALL指定(全レコード抽出指定)すると実表更新が出来なくなります
    こういう場合、[直納先id]はnot NULL 制約にして必ず何か入力
    させるようにするしかないのでしょうか
    (という事は#表引きさせたいような項目は全てnot NULL ?)
記事No.5188 のレス /過去ログ36より / 関連記事表示
削除チェック/

■5195  Re[3]: 外部dbでのロック
□投稿者/ hidetake -(2009/09/30(Wed) 18:48:13)
    パスワード:[kiri] 


    >>何故に「外部DB」で「トランザクション」が有効に働くと
    >>思われたのかな?
    > pc1側でトランザクション開始してから
    > 「伝番管理」テーブルを行訂正して
    > メッセージボックスを出して放置(未コミット状態)
    > その状態でpc2側で行訂正しようとしてもできなかったからです

    それって、伝番ロック用.XVW を専有で開いているから?
    別のところにある 伝番ロック用.XVW を開いた?

    自分が書いたやつでも denban.tbl は共有は考えて無く
    クライアントにある自分専用のテーブルのつもりで!

記事No.5188 のレス /過去ログ36より / 関連記事表示
削除チェック/

■5199  Re[5]: 外部dbでのロック
□投稿者/ hidetake -(2009/09/30(Wed) 20:14:12)
    パスワード:[kiri] 


    2009/09/30(Wed) 20:20:21 編集(投稿者)

    >>別のところにある 伝番ロック用.XVW を開いた?
    > それぞれのpcローカル側に伝番ロック用.XVWを置いて
    > やってみました
    > pc2側でも伝番ロック用.XVWは開けました
    > 行訂正して表示モードに戻そうとしたら
    > 待たされてからはじかれました
    > 待っている間に、pc1側でメッセージボックスを
    > 解除してコミットするとpc2側は進みました

    「ロールバック」すると外部DBのデータはどうなる
    のでしょうか?
    # 桐だけの事を想定するか、それ以外の更新を考慮する
    # とか(今後のために)しないとかあると思いますけど。
記事No.5188 のレス /過去ログ36より / 関連記事表示
削除チェック/

■5202  Re[3]: 外部dbでのロック
□投稿者/ hidetake -(2009/09/30(Wed) 21:52:25)
    パスワード:[kiri] 


    > #表引き

    表引きしなければならないマスターはどのぐらいの頻度で
    更新されるのですか?

    1日のうちで何度も? マスターだからそんなには無い?
    とかで変わってくるかと思いますが、更新頻度が少ないの
    ならば、1日1回朝一番で外部DBからローカル(もしくは共有)
    のテーブルに最新データを落としてくるとか、更新頻度が
    1日内であるのは、最終更新日時を元に、表引きすべき時
    に更新日時をチェックし、データ件数によっては、全体を
    引っ張ってくるとか、更新されたものだけを更新するとか?
    # あるいは誰かがマスターを更新するのだから、更新が
    # 発生した際に、ローカル(あるいは共有)のマスターも
    # 更新するとか!?

    あるいは、その都度、マスターなる外部DBを表示させ
    選択させるとか?  一覧表示させないのなら、その値で
    データだけを取ってくる外部DBなり仕組みを作るとか・・・
    # レスポンス等の問題なども考慮のうえ

    まぁ〜、その実体によって工夫するしか無いのかなとか?

    わかってもらえるかな!? (^^;
記事No.5188 のレス /過去ログ36より / 関連記事表示
削除チェック/

■5207  Re[5]: 外部dbでのロック
□投稿者/ hidetake -(2009/09/30(Wed) 22:55:35)
    パスワード:[kiri] 


    > マスタは2万程あります
    > vpn経由の処理も考えていますので
    > 都度確保はちょっと厳しいかも

    2万行って、表引きで引っ張ってこないといけない内容は?
    2万行って全部を最初から無謀で、その段階のマスターとか
    無いの? 条件に応じたデータだけを表示させるワケには
    いかないのかな?

    まぁ〜外部DBはいろいろあるでしょうから、ご検討をお祈り
    致します! _o_
記事No.5188 のレス /過去ログ36より / 関連記事表示
削除チェック/

■5210  Re[7]: 外部dbでのロック
□投稿者/ hidetake -(2009/10/01(Thu) 08:00:25)
    パスワード:[kiri] 


    2009/10/01(Thu) 08:11:07 編集(投稿者)

    > どうも、すいませんでした
    > 上手く伝え切れなかった部分もありましたようで
    > どうか気を悪くされないでください
    > すいませんでした m(__)m
    > しばらく自主規制します (^^;

    これって、私に!?

    気を悪くするも何も、一緒に学んだり向上する気のある人には
    協力しますよ。でも、いつも答える(えられる)とは限りません
    けど。 (^^)

    今回、自分も知らなかったことも学べたし・・・

    桐で外部DBを使い出すと桐側で出来ることも限られているので、
    サーバ側でトリガ使ったり、いろいろ工夫する必要も出て来る
    と思います。と言うことで、がんばって下さい。

    # 桐の外部DB で、12万件の単純全抽出で 5秒の MySQL って
    # 自分も結構気になってはいます(しかも InnoDB で)。
    # PostgreSQL はもっと遅いですし。データ転送容量は別と
    # して 2万件レベルから必要なものだけを持ってくるのには
    # MySQL だと抽出しテーブル化するのにどれだけの時間が
    # かかるのか? とか、テーブル化しなくとも別ウィンドウ
    # で表示・選択させる方式とかスピードの力でどうかなとか
    # 面白そうではあります。
記事No.5188 のレス /過去ログ36より / 関連記事表示
削除チェック/

■5216  Re[12]: 外部dbでのロック
□投稿者/ うにん -(2009/10/01(Thu) 16:53:56)
    パスワード:[kiri] 


    >>ツールはMySQL Administrator
    >>ただし、項目の挿入はGUIでは出来ないので

    テーブルをダブルクリックするとTable Editorが起動します。

    > #DSQLをイベントファイルに書いてみましたがボタンから実行
    > したらエラーになりました。(使用できない関数です)

    外部DBの絞り込み条件専用の関数です。
記事No.5188 のレス /過去ログ36より / 関連記事表示
削除チェック/

■5219  Re[2]: 外部dbでのロック
□投稿者/ hidetake -(2009/10/02(Fri) 10:47:04)
    パスワード:[kiri] 


    > FOR UPDATE

    明示的なトランザクションの開始やコミットをしていない場合、
    FOR UPDATE はどの時点まで有効なのでしょうかね?
    自動コミットはどの時点で働くのか?でしょうけど、
    外部DB 接続で接続を維持している間とかどうなるのだろうか?

    なんて気にかかります。
記事No.5188 のレス /過去ログ36より / 関連記事表示
削除チェック/

■5223  Re[5]: 外部dbでのロック
□投稿者/ hidetake -(2009/10/02(Fri) 13:08:30)
    パスワード:[kiri] 


    2009/10/02(Fri) 13:10:51 編集(投稿者)

    桐のトランザクション処理(コマンド)と外部DB

    尾形さんのトランザクションのコメントで気になることもあり
    簡単に調べてみた。(PostgreSQL 7.2)

    ---------------------------------------------------------
    変数宣言 整数{&hODBC,&Ret}
    外部DB 接続,ODBC="hoge",ユーザ名="",パスワード="",接続ハンドル=&hODBC,終了状態=&Ret
    トランザクション 開始
    結合 "!hoge.xvw",,変数使用=する,終了状態=&Ret
    表形式編集
    トランザクション ロールバック
    外部DB 切断,&hODBC,終了状態=&Ret
    ---------------------------------------------------------

    と言う簡単な処理でデータを編集してみた。

    やってみて驚いた。「表形式編集」で編集した内容が
    トランザクション ロールバック
    で、ロールバックされ、元のデータに戻っている。

    次に、「表形式編集」状態で、他の PC で外部DBで同じ表を開き、
    編集を行ってみたが、それは可能であった。実際のデータも書き
    換わっていた。
    そして、「表形式編集」のデータを訂正し終了させ、
    そのデータを見てみると、他の PC で変更した内容に戻っていた。
    最初に自分が開いた状態の値(編集前に値)とは異なる。

    PostgreSQL のログを見てみると、

    桐の「トランザクション 開始」コマンドは SQLサーバには何も
    明示的な働きはしていない。(BEGINされない)

    桐の「トランザクション ロールバック」に関しては、桐からの
    ロールバック命令が
    ------------------------------------------------------------
    [12.625]conn=03603AC8, query='UPDATE "hoge" SET "hoge"='1000' WHERE "id"=20091443'
    [14.891]conn=03603AC8, query='ROLLBACK'
    [14.922]conn=03603AC8, PGAPI_Disconnect
    ------------------------------------------------------------
    と 'ROLLBACK' される。

    よく調べてみると、桐の「トランザクション 開始」コマンドはその
    実行時においては、SQLサーバには何も明示的な働きはしていない。
    (BEGINされない)
    トランザクションが開始されるのは、UPDATE 命令が発効される時で
    UPDATE 命令が発生しないときは、「トランザクション ロールバック」
    で query='ROLLBACK' .or query='COMMIT' も無い。

    すなわち、桐でデータを抽出する段階、訂正を行っている最中に
    サーバでデータの書き換えが発生すれば(書き換えることも可能)、
    ロールバックされるデータは、自分の持っているデータでは無く、
    UPDATE 命令が発生される段階のサーバのデータとなる。

    桐で、1行でも訂正(UPDATE)が発生すると、その時点からトランザク
    ション状態となるので、他の PC からはそのデータ(レコード)は
    訂正不可能で待機状態となる。

    と言うことで、桐の「トランザクション」コマンドも外部DBに有効?
    なのですね。ただ、有効になるタイミングは実行したときでは無い
    ので、自分の思っているデータとの整合性は十分に気をつける必要は
    ありそうです。
記事No.5188 のレス /過去ログ36より / 関連記事表示
削除チェック/

■5226  Re[6]: 外部dbでのロック
□投稿者/ hidetake -(2009/10/02(Fri) 13:40:42)
    パスワード:[kiri] 


    2009/10/02(Fri) 13:43:55 編集(投稿者)

    > 桐のトランザクション処理(コマンド)と外部DB

    > よく調べてみると、桐の「トランザクション 開始」コマンドはその
    > 実行時においては、SQLサーバには何も明示的な働きはしていない。
    > (BEGINされない)
    > トランザクションが開始されるのは、UPDATE 命令が発効される時で
    > UPDATE 命令が発生しないときは、「トランザクション ロールバック」
    > で query='ROLLBACK' .or query='COMMIT' も無い。
    >
    > すなわち、桐でデータを抽出する段階、訂正を行っている最中に
    > サーバでデータの書き換えが発生すれば(書き換えることも可能)、
    > ロールバックされるデータは、自分の持っているデータでは無く、
    > UPDATE 命令が発生される段階のサーバのデータとなる。
    >
    > 桐で、1行でも訂正(UPDATE)が発生すると、その時点からトランザク
    > ション状態となるので、他の PC からはそのデータ(レコード)は
    > 訂正不可能で待機状態となる。
    >
    > と言うことで、桐の「トランザクション」コマンドも外部DBに有効?
    > なのですね。ただ、有効になるタイミングは実行したときでは無い
    > ので、自分の思っているデータとの整合性は十分に気をつける必要は
    > ありそうです。
    >

    もう少し調べてみると、「トランザクション」コマンドを入れても
    入れなくても、BEGIN は発生しており、これが自動トランザクションか
    桐の処理か良くわからなかったけど、どうも桐の直接の命令では無い
    らしい。

    PostgreSQL の場合だけかは良くわからないけど、
    桐は「自動コミット」パラメータを設定変更して、トランザクションを
    コントロールしているようだ。

    UPFATE をかける前に
    [1736-12.204]PGAPI_SetConnectOption: AUTOCOMMIT: transact_status=1, vparam=0
    [1736-12.204]CC_set_autocommit: 1->0
    と、autocommit をオフにし、UPDATE をかける。

    「トランザクション 開始」命令が無いときには、桐は自分で
    query='COMMIT' を実行する。
    これは、UPDATE が発生するたびに繰り返される。

    「トランザクション 開始」命令があるときには、UPDATE が
    発生しても、桐はその都度は query='COMMIT' を発行しない。
    「トランザクション コミット」もしくは
    「トランザクション ロールバック」があったときに初めて
    query='COMMIT' .or query='ROLLBACK' が実行される。

    query='COMMIT' .or query='ROLLBACK' が実行されると
    [1736-12.235]PGAPI_SetConnectOption: AUTOCOMMIT: transact_status=0, vparam=1
    [1736-12.235]CC_set_autocommit: 0->1
    と、autocommit パラメータを元に戻している。


    ほかの DB では、どんなトランザクション制御をしているだ
    ろうか!?
記事No.5188 のレス /過去ログ36より / 関連記事表示
削除チェック/

■5229  Re[7]: 外部dbでのロック
□投稿者/ うにん -(2009/10/02(Fri) 15:32:31)
    パスワード:[kiri] 


    > ほかの DB では、どんなトランザクション制御をしているだ
    > ろうか!?

    MySQL5.1でも同じようでした。サーバーログでこんな感じ。
    外部DBの結合
    15 Query SELECT COUNT(*) FROM `test2` WHERE ...
    15 Query SELECT `t`,`id`,`denban` FROM `test2` ...
    行訂正
    15 Query SET AUTOCOMMIT=0
    15 Query UPDATE `test2` SET `id`=6 WHERE `id`=5
    トランザクション コミット
    15 Query COMMIT
    15 Query SET AUTOCOMMIT=1
記事No.5188 のレス /過去ログ36より / 関連記事表示
削除チェック/

■5230  Re[8]: 外部dbでのロック
□投稿者/ hidetake -(2009/10/02(Fri) 15:45:09)
    パスワード:[kiri] 


    > MySQL5.1でも同じようでした。サーバーログでこんな感じ。
    > 外部DBの結合
    > 15 Query SELECT COUNT(*) FROM `test2` WHERE ...
    > 15 Query SELECT `t`,`id`,`denban` FROM `test2` ...
    > 行訂正
    > 15 Query SET AUTOCOMMIT=0
    > 15 Query UPDATE `test2` SET `id`=6 WHERE `id`=5
    > トランザクション コミット
    > 15 Query COMMIT
    > 15 Query SET AUTOCOMMIT=1

    AUTOCOMMIT って、ほとんどの DB で一緒のようですね。

    桐の表編集など(フォームだろうが一緒)を使って、会話的に
    使うところで、桐のトランザクション処理に頼ると、直ぐに
    デッドロックを起こしてしまいそうですね。
    試しにやってみると簡単です。
    ただ、DB のデッドロック検出が働くので直ぐにエラーが
    発生し、止まってくれますが! (^^;
記事No.5188 のレス /過去ログ36より / 関連記事表示
削除チェック/

■5760  桐とmysqlのodbcについて
□投稿者/ さとし -(2010/04/12(Mon) 17:49:04)
    パスワード:[kiri] 


    こんにちは!

    さて、「説明書を読めばわかるだろ〜よ」ってことかもしれませんが、
    さっそくよろしくお願いします。

    現在 桐2009aSP5 win7 64bit mysql5.0.77 odbcはmysql5.1ドライバーを利用しています。
    まったく問題なく読込・書込できておるのですが、疑問があります。

    桐を立ち上げ、*.xvwファイルを読み込む時(表示されるまで)に時間がかかります。(7万レコードで項目数40の*.tblファイルをそのまま外部DBに書き出しで保存したものです。)約開くまで20秒程度かかっています。
    また、odbcで接続するとき、ユーザー名パスワードを聞かれてしまいます。

    この2点は改善できるものでしょうか?
親記事 /過去ログ37より / 関連記事表示
削除チェック/

■5772  Re[1]: 桐とmysqlのodbcについて
□投稿者/ hidetake -(2010/04/13(Tue) 22:48:01)
    パスワード:[kiri] 


    > 現在 桐2009aSP5 win7 64bit mysql5.0.77 odbcはmysql5.1
    > ドライバーを利用しています。

    > 桐を立ち上げ、*.xvwファイルを読み込む時(表示されるまで)
    > に時間がかかります。(7万レコードで項目数40の*.tblファイル
    > をそのまま外部DBに書き出しで保存したものです。)約開く
    > まで20秒程度かかっています。

    MySQL も 5.1 で無くて 5.0 なんですね。

    もし良かったら、同じサーバ、同じデータに対して
    win7 32bit 版での動作速度を調べて教えて欲しいです。
    ODBCドライバは 32bit 版なのでしょうけど、64bit と
    32bit の環境の違いで、どのような速度変化があるのか?
    無いのか? 知りたいです。
    オーバーヘッドとかあるのかな? どうなのでしょう。
    (あるいはwin7で無くともXP 32bit環境下ででも)

    開くのも1度目と2度目で同じなのですか? 違いが
    出て来るのでしょうか? DB は MyISAM なのですか?
    InnoDB なのですか?

    自分は PostgreSQL なので、その辺の違いを良かったら
    教えて下さい。



    自分のところの PostgreSQL と較べてどうかと言えば
    環境やデータの違いもハッキリしないし、PostgreSQL
    でもバージョンにより、また、読み込みや書き込みで
    大きく違うので何とも言えないのですが、そんなもの
    と言えばそんなものでしょうから、基本的には必要な
    ものを絞り込んで読み込むのが良いとは思います。


記事No.5760 のレス /過去ログ37より / 関連記事表示
削除チェック/

■5790  Re[2]: 外部dbで入力並順について
□投稿者/ うにん -(2010/04/21(Wed) 09:35:25)
    パスワード:[kiri] 


    >>ソート項目を指定せずに[抽出]すれば入力順に並ぶ
    >>ようなのですが、
    > 偶然でしょう(^_^;)と考えましょう
    > 仕様にないものは期待しない

    ですね〜、Pgsqlだけど、桐の外部DBで読込でデータを入れたら、完全に逆順に
    入ったことがある。
    (今考えてみれば、逆になったのが入った時なのか取り出してる時なのかは
    判別しようがないですね)
記事No.5786 のレス /過去ログ37より / 関連記事表示
削除チェック/

■6081  xvwの「データファイルが壊れています」
□投稿者/ Kanasy.Ge -(2010/09/18(Sat) 20:29:58)
    パスワード:[kiri] 


    2010/09/18(Sat) 20:34:45 編集(投稿者)

    突然、外部DBを使うことになって判らないことばかり。(^^;)
    現在、老骨にむち打って一所懸命試行中ですが、ひとつ困ったことが起きて、原因&対処法が判らず、頓挫してしまいました。

    あるxvwを作成し、対応するwfmとkevも作成して、何とか動いてた。
    wfmは一覧表フォームで、その編集対象表がxvwです。
    さてその後、xvwを再定義して項目をひとつ追加した。
    対応するwfmにも当該項目のオブジェクトを追加すべくwfmを再定義しようとたら・・・・
      「KD1032:データファイルが壊れています」
    このエラーメッセージには続けてパスとファイル名が表示されるのですが、その拡張子がxvwではなく、例えば$DXとか要するに$??の作業ファイルなのであります。
    このままの状態でイベント等動かしても、何とか動きはするのだが、何とも気持ちがよくない。
    *.RCVを削除したり、再起動したりしても駄目でした。
    当該のxvwとwfmを削除して、いちから作り直すのはいささか面倒。
    なので、何か対処策はないものでしょうか?


    ちなみに、OSは Vista ultimate、MS SQLserver 2005 Express が組み込まれている。何だか、桐がよく落ちます。(^^;)
親記事 /過去ログ39より / 関連記事表示
削除チェック/

■6082  Re[1]: xvwの「データファイルが壊れています」
□投稿者/ うにん -(2010/09/19(Sun) 17:15:50)
    パスワード:[kiri] 


    くwfmを再定義しようとたら・・・・
    >   「KD1032:データファイルが壊れています」
    > このエラーメッセージには続けてパスとファイル名が表示されるのですが、その拡張子がxvwではなく、例えば$DXとか要するに$??の作業ファイルなのであります。
    > このままの状態でイベント等動かしても、何とか動きはするのだが、何とも気持ちがよくない。

    つまり外部DBでなくフォームの方が壊れてるのですか?
    xvwを開くだけなら問題ない?

    > *.RCVを削除したり、再起動したりしても駄目でした。
    > 当該のxvwとwfmを削除して、いちから作り直すのはいささか面倒。

    結合表・外部DBってテキスト書き出しできないですよねT_T
記事No.6081 のレス /過去ログ39より / 関連記事表示
削除チェック/

■6083  Re[2]: xvwの「データファイルが壊れています」
□投稿者/ Kanasy.Ge -(2010/09/20(Mon) 00:48:24)
    パスワード:[kiri] 


    No6082に返信(うにんさんの記事)

    > つまり外部DBでなくフォームの方が壊れてるのですか?
    > xvwを開くだけなら問題ない?

    xvw単独では問題ないようです。
    wfmの方は再定義はできないが、再定義画面から「編集へ」行くと編集対象表の拡張子は正しく
    xvwとなるのできちんと動くし、wfmを単に開くでも(正しい拡張子で進むらしく)きちんと動く
    ようです。
    つまりは、再定義の時だけ拡張子がxvwではなく「$??」となって、wfmの変更が困難。
    という訳で、ワケワカメです。
    連休が明けたらK3に訊いてみようかとも思っていますが、どなたか類似経験をお持ちの方がいら
    したら、コメントを戴けないかと・・・・

記事No.6081 のレス /過去ログ39より / 関連記事表示
削除チェック/

■6179  Re[11]: Web版ODBC
□投稿者/ hidetake -(2010/12/03(Fri) 09:41:39)
    パスワード:[kiri] 


    2010/12/03(Fri) 09:42:03 編集(投稿者)

    PostgreSQL では「表示」にした時から20秒でエラーが発生します。
    サーバ本体のLANケーブルを抜いてのテストです。

    最初のエラーは20秒後に
    ---
    KD1672:ODBC エラー

    データソース固有エラーコード : 26
    SQLSTATE : 08S01
    No response from the backend;
    No response from the backend

    X:\XXXX\NAME.XVW(外部DB)
    ---

    2回目に表示にしようとするとすぐに
    ---
    KD1672:ODBC エラー

    データソース固有エラーコード : 26
    SQLSTATE : 08S01
    Could not send Query(connection dead);
    Could not send Query(connection dead)

    X:\XXXX\NAME.XVW(外部DB)
    ---
    と表示されます。


    ODBCのクエリー実行時のタイムアウトは
    SQL_QUERY_TIMEOUT
    で設定するようですが、これを桐やドライバが特に設定している
    ようなログは見つけられませんでした。
    デフォルトの「0」のままかも知れません。

    ネットが不安定な状態ではどうあがいても仕方ないので、この件に
    ついてはこの辺にしておきます。
記事No.6145 のレス /過去ログ40より / 関連記事表示
削除チェック/

■6197  Re[3]: 二重引用符の使い方について
□投稿者/ うにん -(2010/12/06(Mon) 13:08:29)
    パスワード:[kiri] 


    > >&TBL="P:\aaa\bbb\ccc\"+&月1+".tbl"
    >   確認 &STR
    >  で確認してみますと、変数は 
    >  P:\aaa\bbb\ccc\18期12.tbl とパス名ファイル名がうまく読みとられています。

    変数名が違うから確認になってません。^^;;

    私のとこでは尾形さんと同じで、桐9-2009では拡張子があってもなくても表コマンドでは問題ないです。
    (表コマンドでは.tbl以外開けないので当然)

    読み込み 表コマンドだと結合・外部DBも指定できるので表.TBLでない場合拡張子が必要ですが、表しか使ってないようですし??
記事No.6150 のレス /過去ログ40より / 関連記事表示
削除チェック/

■6631  外部DBで同一項目での結合
□投稿者/ 尾形 -(2011/10/06(Thu) 09:01:52)
    パスワード:[kiri] 


    よろしくお願いします

    仕訳入力のイメージです
    仕訳明細テーブルに [借方科目] [貸方科目]
    勘定科目マスタに[科目ID] [科目名]
    のテーブル定義です

    IDで結合して、科目名を表示する
    xvwを定義したいのですが、設定できないようなのです

    結合条件として
    [借方科目ID] all <-->[科目ID]
    [貸方科目ID] all <-->[科目ID]
    こんな感じに設定したいのですが
    [科目ID]を複数設定は出来ないようです

    SQLとしてそもそも無理なのか?
    とも思ったりするのですが
    こういう場合ってどうすればいいのでしょうか
親記事 /過去ログ42より / 関連記事表示
削除チェック/

■6632  Re[1]: 外部DBで同一項目での結合
□投稿者/ ツつ、ツにゑソス -(2011/10/06(Thu) 12:12:32)
    パスワード:[kiri] 


    勘定科目マスタをもう一度追加して2個にする。
記事No.6631 のレス /過去ログ42より / 関連記事表示
削除チェック/

■6633  Re[2]: 外部DBで同一項目での結合
□投稿者/ 尾形 -(2011/10/06(Thu) 12:24:41)
    パスワード:[kiri] 


    どうも、こんにちは

    > 勘定科目マスタをもう一度追加して2個にする。
    それもやってみたのですが
    [追加]ボタンがグレーになって
    設定できないのできないみたいなのです

記事No.6631 のレス /過去ログ42より / 関連記事表示
削除チェック/

■6634  Re[3]: 外部DBで同一項目での結合
□投稿者/ 尾形 -(2011/10/06(Thu) 13:47:53)
    パスワード:[kiri] 


    すいません
    恥ずかしい事に、自分のミスで
    データ型が不一致してました

    > 勘定科目マスタをもう一度追加して2個にする。
    これでできました

    失礼いたしました m(__)m
記事No.6631 のレス / END /過去ログ42より / 関連記事表示
削除チェック/

■6644  Re[1]: 多店舗システム
□投稿者/ 尾形 -(2011/10/19(Wed) 12:36:56)
    パスワード:[kiri] 


    どうも、こんにちは

    > 支店のパソコンから本社のパソコンにアクセス
    これが可能であれば
    本店側で、支店コピー用にマスタtblの
    複製を定時に準備して

    支店側で毎朝、本店からマスタをコピーして
    持ってきて処理する
    みたいな感じでするのが簡単ではないでしょうか



    # 外部DB(RDBMS)+桐 を使ってみては ^^
    # 楽しいですよ
記事No.6641 のレス /過去ログ42より / 関連記事表示
削除チェック/

■6648  Re[2]: 多店舗システム
□投稿者/ 篤姫 -(2011/10/20(Thu) 09:09:40)
    パスワード:[kiri] 


    尾形さん
    ありがとうございます。
    >>支店のパソコンから本社のパソコンにアクセス
    > これが可能であれば
    > 本店側で、支店コピー用にマスタtblの
    > 複製を定時に準備して
    > 支店側で毎朝、本店からマスタをコピーして
    > 持ってきて処理する
    > みたいな感じでするのが簡単ではないでしょうか
    ネットで調べたんですが
    こんなサービスをしている会社を発見しました。
    http://vpn.fsv.jp/
    この内容だと、通信のレスポンスがよければ
    リアルタイムにデータを確認することができるのでは・・・?

    > # 外部DB(RDBMS)+桐 を使ってみては ^^
    > # 楽しいですよ
    SQL+桐ということですね・・・

    恥ずかしながら、私は桐しかわからないんです。
    SQL難しくないでしょうか?

記事No.6641 のレス /過去ログ42より / 関連記事表示
削除チェック/

■6834  Re[9]: 索引
□投稿者/ うにん -(2012/01/26(Thu) 16:47:12)
    パスワード:[kiri] 


    > 開ける表は40個までですので無理があると思います。

    そっちの制限もありますね。
    eoさんのを見てファイル名は変数可なのを思い出した。

    #計算(
    #代入(&県,#部分列([顧客c],1,2)),
    #代入(&ファイル名=#条件選択(&県="01","北海道",...)+"顧客.tbl"),
    #表引き([顧客c],=,&ファイル名,[顧客c],[氏名],"顧客c",1)
    )
    みたいなんですかね。#条件選択でなく#対応文字列にすると短くなります。

    こういう風にしてもファイル数の制限には引っ掛かりそうですが?

    と思ったら、40はウィンドウ数で、ファイル数は255でした。

    ただ、近似値を表示して選択したいとかも言ってたので、どうかなあ。
    1つにまとめて、外部DBかなあ。
記事No.6807 のレス /過去ログ43より / 関連記事表示
削除チェック/

■7338  Re[2]: オラクルDBの再抽出で時々エラーになる。
□投稿者/ 三国陸 -(2012/11/26(Mon) 20:05:26)
    パスワード:[kiri] 


    No7332に返信(うにんさんの記事)
    >>1日20時間稼動し、
    > サーバは毎日再起動していますか?
    返事が遅れて申し訳ありません。突然のアクシデントでPCに触ることができませんでした。

    サーバーは月1回の再起動です。
    エラーはここ1か月以上でていませんが、対象表がオープンされていないようなエラーで、どうもオラクルとのセッションが切れていると判断しているようです。
    ネットワーク上で起きる特定の状態の時にエラーが発生しているのではと思っています。
    因みに、クライアントは12台で「桐」が稼働しているのは1台だけで他はVBで動いています。
    なお、この桐のプログラムでは、外部DBとの結合表の他は、表が1つとRS232Cを1つオープンしています。VBのクライアントにより更新されたオラクルDBを監視し、RS232Cに1バイトの文字を出力するようなプログラムです。
記事No.7328 のレス /過去ログ47より / 関連記事表示
削除チェック/

■7365  SQL Server の IDENTITY について
□投稿者/ そら -(2013/01/18(Fri) 15:01:29)
    パスワード:[kiri] 


    2013/01/21(Mon) 16:27:38 編集(投稿者)

    お世話になります。
    桐9 2012 と SQL Server 2005 を使っております。

    [ID] int identity primary key
    を含むテーブルに対して、外部DBをとおして行追加しようとすると、
    [ID] にも挿入しようとするため、エラーになってしまいます。

    一括処理やイベント処理を使わずに、会話処理でXVWで直接、行追加することは可能ですか?
親記事 /過去ログ47より / 関連記事表示
削除チェック/

■7366  Re[1]: SQL Server の IDENTITY について
□投稿者/ くおんたむ -(2013/01/18(Fri) 23:44:59)
    パスワード:[kiri] 


    どうも、そらさん

    > [ID] int indentity primary key
    > を含むテーブルに対して、外部DBをとおして行追加しようとすると、
    > [ID] にも挿入しようとするため、エラーになってしまいます。
    >
    > 一括処理やイベント処理を使わずに、会話処理でXVWで直接、行追加することは可能ですか?

    これとか?
    http://www.habata.net/kiri/kbbs/kakov9/29407.htm

    外していたら、スイミマセン m(_ _)m
記事No.7365 のレス /過去ログ47より / 関連記事表示
削除チェック/

■7367  Re[2]: SQL Server の IDENTITY について
□投稿者/ そら -(2013/01/19(Sat) 13:51:43)
    パスワード:[kiri] 


    くおんたむさん、ありがとうございます。

    ご紹介下さったリンクを拝見しましたが、十分に理解できず、
    自分なりの解釈を加えて、下記の様なトリガを追加してみました。

    問題となっている[ID]の挿入を回避する試みです。


    CREATE TRIGGER InsteadOfInsert on テスト表
    INSTEAD OF INSERT AS BEGIN
    SET IDENTITY_INSERT テスト表 ON
    INSERT INTO テスト表(
    [項目1],
    [項目2]
    )
    SELECT
    [項目1],
    [項目2]
    FROM inserted
    SET IDENTITY_INSERT テスト表 OFF
    END;

    しかし外部DBで行追加を試すと、3行目でIDENTITY_INSERTを
    ONにしているにもかかわらず、
    「IDENTITY_INSERT が OFF に設定されているときは、
    テーブル'テスト表'のID列に明示的な値を挿入できません」という、
    エラーダイアログが出てしまいます。

    3行目と12行目の SET IDENTITY_INSERT を外しても、同じ症状でした。

    根本的に何か間違っているのでしょうか?
記事No.7365 のレス /過去ログ47より / 関連記事表示
削除チェック/

■7368  Re[3]: SQL Server の IDENTITY について
□投稿者/ そら -(2013/01/19(Sat) 15:54:59)
    パスワード:[kiri] 


    2013/01/21(Mon) 16:31:34 編集(投稿者)

    ややぎこちない実装ですが、下記の2つの目標を両立する方法が分かりました。
    ですが、もしより簡潔な方法をご存知でしたら、お教え頂けますか?

    目標 ・SQL Server側での主キーのカウンター付け
    ・外部DBからの行追加


    実装概要:INSTEAD OF INSERTトリガ内で、IDENTITYをエミュレートします


    実装例:

    CREATE TABLE テスト表 (
    [ID] int primary key,
    [項目1] int,
    [項目2] int
    );

    go

    CREATE TRIGGER InsteadOfInsert on テスト表
    INSTEAD OF INSERT AS BEGIN
    INSERT INTO テスト表(
    [ID],
    [項目1],
    [項目2]
    )
    SELECT
    [newID],
    [項目1],
    [項目2]
    FROM
    inserted,
    (select
    case
    when max( [ID] ) is null then 1
    else max( [ID] ) + 1
    end as [newID]
    from テスト表)a
    END;
記事No.7365 のレス /過去ログ47より / 関連記事表示
削除チェック/

■7370  Re[5]: SQL Server の IDENTITY について
□投稿者/ そら -(2013/01/20(Sun) 13:54:44)
    パスワード:[kiri] 


    2013/01/21(Mon) 17:38:49 編集(投稿者)

    尾形さん、ありがとうございます。
    SQLインジェクションが使えることは初めて知りました。

    > 自前で[ID]振ったほうがいいような気もします

    外部DBでも挿入初期値が設定できれば、イベントを使わずにすむのですが、
    もしかしてそれに似た機能って実現できますか?

    イベントで下記のようにすることも、第2候補として考えていますが、複雑化してしまいます。


    手続き定義開始 フォーム::行挿入開始( 長整数 &明細番号 )
        項目値代入 [ID] = #日時文字列( #日時値, 9, 4, 2 ) \
            + #条件選択( \
                #文字数( #WSNAME ) > 10 , #右側文字列( #WSNAME, 16 ), \
                1, #WSNAME ) \
            + #文字列( #MOD( #行番号, 100000000 ) )
    手続き終了


    また、未検証ですが、この場合では主キーがnvarchar(50)になり、
    大量のレコードを抱えた時の処理速度がインデックスを付けてもやや不安です。

    やや不恰好な主キーになることと、行追加後に再抽出が必要になることと、
    どちらが優先か、もう少し形になってから比較検討する予定です。
記事No.7365 のレス /過去ログ47より / 関連記事表示
削除チェック/

■7372  Re[6]: SQL Server の IDENTITY について
□投稿者/ 尾形 -(2013/01/21(Mon) 06:41:51)
    パスワード:[kiri] 


    > イベントで下記のようにすることも、
    > 複雑化してしまいます。
    外部DBを使う予定であれば
    全てイベントで実装するつもりでないと厳しいと思います

    自分の場合は、ライブラリ化して
    使いまわしできるようにしています

記事No.7365 のレス /過去ログ47より / 関連記事表示
削除チェック/

■7375  Re[7]: SQL Server の IDENTITY について
□投稿者/ そら -(2013/01/21(Mon) 18:03:13)
    パスワード:[kiri] 


    尾形さん、ありがとうございます。

    そうですよね。
    やはりイベントが必要になってしまいますよね。

    ただ、障害発生時の原因究明や、手作業でのデータメンテナンスを想定すると、
    出来れば外部DBを直接手作業で編集できるようなシンプルさが保てる事が、
    望ましいとも感じております。
記事No.7365 のレス /過去ログ47より / 関連記事表示
削除チェック/

■7373  Re[3]: SQL Server の IDENTITY について
□投稿者/ うにん -(2013/01/21(Mon) 10:32:58)
    パスワード:[kiri] 


    関係ないと思うけど、SQLServer2000のヘルプでは
    >セッション内の 1 つのテーブルのみが IDENTITY_INSERT プロパティを ON に設定できます。
    となってました。

    > CREATE TRIGGER InsteadOfInsert on テスト表
    > INSTEAD OF INSERT AS BEGIN

    トリガの中ではIDを指定しないのだから、やるとしたら
    > SET IDENTITY_INSERT テスト表 ON
    こっちがOFFではないでしょうか?
    > INSERT INTO テスト表(
    > [項目1],
    > [項目2]
    > )
    > SELECT
    > [項目1],
    > [項目2]
    > FROM inserted
    > SET IDENTITY_INSERT テスト表 OFF
    > END;

    > しかし外部DBで行追加を試すと、3行目でIDENTITY_INSERTを
    > ONにしているにもかかわらず、
    > 「IDENTITY_INSERT が OFF に設定されているときは、
    > テーブル'テスト表'のID列に明示的な値を挿入できません」という、
    > エラーダイアログが出てしまいます。

    トリガを実行する前にINSERT文をチェックするんですかね?

    トレースログを見ました?
記事No.7365 のレス /過去ログ47より / 関連記事表示
削除チェック/

■7376  Re[4]: SQL Server の IDENTITY について
□投稿者/ そら -(2013/01/21(Mon) 18:12:29)
    パスワード:[kiri] 


    うにんさん、ありがとうございます。

    ご指摘下さったとおりに、ONとOFFを入れ替えてみましたが、症状は全く同じでした。


    > トリガを実行する前にINSERT文をチェックするんですかね?

    おそらく仰る通りだと思います。


    > トレースログを見ました?

    ONとOFFの順序を変えても、そのままでも、トレースでは下記の様になりました

    エラー :KD1672:ODBC エラー データソース固有エラーコード : 544 SQLSTATE : 23000 [Microsoft][ODBC SQL Server Driver][SQL Server]IDENTITY_INSERT が OFF に設定されているときは、テーブル 'テスト表' の ID 列に明示的な値を挿入できません。 (C:\テスト表.xvw(外部DB) )
記事No.7365 のレス /過去ログ47より / 関連記事表示
削除チェック/

■7378  Re[5]: SQL Server の IDENTITY について
□投稿者/ うにん -(2013/01/21(Mon) 23:36:02)
    パスワード:[kiri] 


    >>トレースログを見ました?
    >
    > ONとOFFの順序を変えても、そのままでも、トレースでは下記の様になりました
    >
    > エラー :KD1672:ODBC エラー データソース固有エラーコード : 544 SQLSTATE : 23000 [Microsoft][ODBC SQL Server Driver][SQL Server]IDENTITY_INSERT が OFF に設定されているときは、テーブル 'テスト表' の ID 列に明示的な値を挿入できません。 (C:\テスト表.xvw(外部DB) )

    ああ、すいません、桐の一括処理のトレースじゃなくて、ODBCとかSQLサーバ側のログのことです。

    postgresqlで使ってますけど、直接行追加するより、表に入れて読み込みしたほうが
    楽かなあという気が...
    (読み込みだと再抽出があんまり気にならないので)
記事No.7365 のレス /過去ログ47より / 関連記事表示
削除チェック/

■7382  Re[6]: SQL Server の IDENTITY について
□投稿者/ そら -(2013/01/22(Tue) 14:57:10)
    パスワード:[kiri] 


    うにんさん、ありがとうございます。

    > ODBCとかSQLサーバ側のログのことです。

    私の調べ方が悪いのかもしれませんが、
    どちらの場合もトリガの動きなどは見えませんでした。


    > 直接行追加するより、表に入れて読み込みしたほうが
    > 楽かなあという気が...
    > (読み込みだと再抽出があんまり気にならないので)

    桐表の便利な機能を捨てて、あえて外部DBを直接編集する根本的な理由は、
    ワーク表と外部DBの同期がきちんとなされないトラブルでした。

    また、明記しておりませんでしたが、行追加の他にも、行訂正と行削除もするため、
    ワーク表と外部DBを同期する際は、読み込みではなく、次の様に若干複雑になります。

    編集表 テスト外部DB
    併合 テスト桐表, 両方, { [ID]照合, [項目1]複写, [項目2]複写 }

    編集表 テスト桐表
    削除行 有効
    絞り込み [ID]{ #削除 }

    編集表 テスト外部DB
    併合 テスト桐表, 両方, { [ID]照合, [項目1]複写, [項目2]複写 }
記事No.7365 のレス /過去ログ47より / 関連記事表示
削除チェック/

■8243  Re[1]: 桐からアクセスの書き出し
□投稿者/ うにん -(2014/07/08(Tue) 12:36:55)
    パスワード:[kiri] 


    > 桐のデータがC:¥伝票¥売上伝票.TBLで
    > アクセスのテーブルがC:¥hanbai¥売上.mdbにある場合とします

    アクセス形式で書き出しというのはできないので、ODBCでDSNを定義して外部DBを作るしかないのでは?

    書き出し条件登録 外部DB
    書き出し 条件名
記事No.8242 のレス /過去ログ53より / 関連記事表示
削除チェック/

■8244  Re[2]: 桐からアクセスの書き出し
□投稿者/ ふうやん -(2014/07/08(Tue) 12:52:29)
    パスワード:[kiri] 


    うにんさん
    ありがとうございます。

    > 書き出し条件登録 外部DB
    > 書き出し 条件名

    上記条件名を登録して

    外部DB, "C:\hanbai\売上表.mdb", 書き出し 表, "売上台帳", 追加,[顧客番号],[年月日],[品名・品番],[数量],[単価],[税抜価格], 引継ぎ=する, 終了状態=&OK

    の書き方で悪いところを教えていただけますでしょうか



記事No.8242 のレス /過去ログ53より / 関連記事表示
削除チェック/

■8245  Re[3]: 桐からアクセスの書き出し
□投稿者/ うにん -(2014/07/08(Tue) 14:40:39)
    パスワード:[kiri] 


    ヘルプ見てるだけでやったことないんですけど、
    外部DBの場合は条件を登録しないとできないみたいですよ。

    >>書き出し条件登録 外部DB
    >>書き出し 条件名
    >
    > 上記条件名を登録して
    >
    登録の時に項目指定が入ります。
    書き出しの時は条件名だけ。

    書き出し条件登録 外部DB,条件名="売上表","mdb内の表の名前",追加,{[顧客番号],[年月日],[品名・品番],[数量],[単価],[税抜価格]}
    書き出し 外部DB, 条件名="売上表", 引継ぎ=する, 終了状態=&OK

    外部DBを定義しておかないといけません。例では"売上表.xvw"
    .mdbの指定は、DSNの方なので、コマンドには書けません。
    条件名は、表に保存されるから、毎回登録しないでもいいのかな。

    ずっと前だけど、PostgreSQLで書き出しは上書きしかできなかった(追加指定しても上書きになる)ので、読み込みしか使ったことないです。
    アクセスでも上書きされてしまうかもしれないので注意してください。
記事No.8242 のレス /過去ログ53より / 関連記事表示
削除チェック/

■8262  Re[12]: 桐からアクセスの書き出し
□投稿者/ うにん -(2014/07/10(Thu) 09:57:27)
    パスワード:[kiri] 


    > 外部データベース接続の画面が毎回立ち上がります。その都度TEST.accdbの選択とユーザー名とパスワードを要求されます。

    DSNの定義でファイルを選択してないのでは。
    パスワードなどは、桐の外部DBのファイル属性に設定があります。

    > それをやっても書き出しされません

    アクセスが無くても、ODBCの設定でファイルは作れますね。
    そこへ桐から書き出してテーブルも作れましたが、
    主キーがないので更新不可能でした。
    vbsで作成できるかな?

    実際に使用するACCESSのファイルが無いと、開発は無理では。
記事No.8242 のレス /過去ログ53より / 関連記事表示
削除チェック/

■8443  Re[1]: webアクセス?
□投稿者/ hidetake -(2014/10/10(Fri) 19:06:26)
    パスワード:[kiri] 


    2014/10/10(Fri) 19:15:11 編集(投稿者)

    > 社内DBのあるテーブルだけを随時、社外DBに同期する?みたいな
    > そんな事無理?

    レンタルサーバ側に、アップロードデータを受ける取る仕組みを
    作り、データがアップロードされたら、MySQL のデータを更新する
    プログラムを仕込む。

    クライアント側は、一定時間毎にデータを書き出しては、レンタル
    サーバにデータをアップロードするスクリプトを走らせる。
    アップロードは Microsoft.XMLHTTP でも用い、アップロードする。

    MySQL :: MySQL 5.1 リファレンスマニュアル :: 12.2.5 LOAD DATA INFILE 構文
    http://dev.mysql.com/doc/refman/5.1/ja/load-data.html

    PHP: mysqli::set_local_infile_handler - Manual
    http://php.net/manual/ja/mysqli.set-local-infile-handler.php



    あとは

    レンタルサーバ側で SSH が使えるならば、ポートフォーワードで
    トンネルを掘り、クライアントと接続する。

    クライアントは「外部DB」で 127.0.0.1 経由で、レンタルサーバと
    ODBC 接続する。桐で定期的に「外部DB」でデータ更新する。
    トンネル接続の安定性(切れないこと)は、インターネット環境にも
    よるかも知れません。


    と言ったところでしょうか。
記事No.8442 のレス /過去ログ55より / 関連記事表示
削除チェック/

■8444  Re[2]: webアクセス?
□投稿者/ 尾形 -(2014/10/11(Sat) 07:52:42)
    パスワード:[kiri] 


    どうも、ありがとうございます

    > レンタルサーバ側で SSH が使えるならば、ポートフォーワードで
    > トンネルを掘り、クライアントと接続する。
    > クライアントは「外部DB」で 127.0.0.1 経由で、レンタルサーバと
    > ODBC 接続する。桐で定期的に「外部DB」でデータ更新する。

    この方向で検討してみます
    同期専用がいる感じですね
記事No.8442 のレス /過去ログ55より / 関連記事表示
削除チェック/

■8445  Re[3]: webアクセス?
□投稿者/ hidetake -(2014/10/11(Sat) 10:26:44)
    パスワード:[kiri] 


    2014/10/11(Sat) 11:41:50 編集(投稿者)

    >>クライアントは「外部DB」で 127.0.0.1 経由で、レンタルサーバと
    >>ODBC 接続する。桐で定期的に「外部DB」でデータ更新する。

    私の場合は、さくらインターネットのレンタルサーバ上の MySQL に
    年に2〜3回の不定期なので、手動で接続して更新しています。



    PortForwarder で、さくらにつなぐ設定は、昔、鹿児島で radiko.jp を
    聞くために作ったものを流用していますが、パスワードの入力の手間を
    防ぐための VBSript です。パスワードをスクリプトに書くなって!! (^^:



    ただ、スピード的には「LOAD DATA INFILE」を使った方が圧倒的に
    早いような気がします。

    アップロードが終わったら、「LOAD DATA INFILE」でワークテーブルに
    データを読み込み。ワークテーブルにトリガを仕掛け、データ更新が
    完了したら、本テーブルにデータをコピー。そしてワークテーブルの
    データは全削除する。とか…

PortForwarder_radiko.txt/1KB
PortForwarder_radiko.txt
/1KB
記事No.8442 のレス /過去ログ55より / 関連記事表示
削除チェック/

■8453  Re[2]: 桐10とUnicode
□投稿者/ hidetake -(2014/10/14(Tue) 22:27:55)
    パスワード:[kiri] 


    2014/10/14(Tue) 22:44:51 編集(投稿者)

    > と言うことで、「IPAmj明朝フォント」を使ったら、IVSに対応
    > したソフトと「IPAmj明朝フォント」で統一して使わないと、
    > JIS X 0213:2004 とも異なる字形で表示される場合があると
    > 言うことみたいですね。



    さて、新しい「桐」は IVS対応になったようですが、桐のインストーラは
    「IPAmj明朝フォント」をデフォルトでインストールするのか?
    桐のデフォルトフォントは「IPAmj明朝フォント」になるのかどうなのか?

    これを使用したい人だけが「IPAmj明朝フォント」のインストール作業を
    行い使えるようになるのか、興味深いところですね。

    IVS対応のフォントで「IPAmjフォント」は「IPAmj明朝フォント」だけで
    「IPAmjゴシックフォント」は無いとのことで、氏名や地名など大変興味
    深く用途によっては大変ありがたい機能ですが、さてどうなるのでしょう?

    あと、ソートや検索などで、「IPAmj明朝フォント」でない、通常の
    UNICODE フォントで、字形の異なる同じ文字種を同一的に見なし、並べ替え
    や(拡張)検索など、できるようになっているのかも興味深いところです。



    あとは、IVS対応で「IPAmj明朝フォント」で運用している桐のデータを
    通常の UNICODE 文字列での書き出しや、他のソフトとの連携などが
    どうなっているのか?
    IVS対応で「IPAmj明朝フォント」で運用している桐を、IVS対応アドインの
    入れてない Excel2010 形式の .xlsx 形式の Excelファイルで書き出せるか
    どうかとか… あるいは、IVS対応の Excel2013 向けの IVS対応形式の
    .xlsx ファイルを書き出せるのかとか?

    管理工学研究所だから、たぶん大丈夫のように思いますが。



    ちょっと、考えるだけで、いろんな事が創造でき、楽しそうですね。
    外部DBでは、どのような形式で読み込み・書き出し・連携できるのか?
    IVS対応の文字コードを使えるのか使えないのか?とか…

    でも、ODBC で IVS対応の有効・無効のような設定は現状にてあるので
    したっけ? 見たこと無いけど。

記事No.8447 のレス /過去ログ55より / 関連記事表示
削除チェック/

<前の50件 | 次の50件>

<< 0 | 1 | 2 | 3 | 4 >>

ヒット件数が多いので過去ログ1〜89 までの検索結果 / 過去ログ90からさらに検索→

パスワード/

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -