メインコンテンツへスキップ

DB Error 列の定義にはデータ型を含めてください

コメント

22件のコメント

  • Tanda

    yamamotoさん、

    F8チェックで何かエラーは出てませんか?

  • yamamoto

    tandaさん 

    ご返信ありがとうございます。F8チェックでは正常となっています。

  • Tanda

    yamamotoさん、

    各カラムのカラム特性で、DBへの「格納」や「SQL」定義が意図した通りになっているかどうかを確認するといいですよ。あれこれ作り直していると、ここの定義がずれてしまうことがあります。

    よく分からない場合は、そのカラムを作り直した方がいいですよ。

  • yamamoto

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

    データ型というのは格納やSQL定義のことでしょうか。

    それとも特性全体のことになりますか?

    ちなみに作り直してすぐにAPG実行してもエラーが表示されてしまうのですが

    その場合はモデルからの作り直しが必要になってきますでしょうか?

    モデルは他のデータにも使用していて他データでは正常にAPG実行できるのですが、、、。

  • Tanda

    yamamotoさん、

    なんらかの操作ミスで、DBへの定義がずれてしまっているのだと思います。
    SQL ServerのManagement Studioを開いて、定義内容を確認してみましょう。

  • こんにちは

    テーブルが作ることが出来てないなら、SSMSでの定義取得は難しいかも...(-_-;)

     

    いっそのこと、そのテーブル辞書出力して、ここにアップした方が話、早くないっすかね?

    まぁ、原因をいろいろ自分で探求するのも、勉強にはなりますが......💦

    HAYATO@アインシュタイン設計社

     

     

  • Tanda

    yamamotoさん、

    補足です。

    > モデルは他のデータにも使用していて他データでは正常にAPG実行できるのですが、、、。

    モデルの定義と、DBが壊れているかどうかは別問題ですよ。
    モデルはあくまでも単なるテンプレート定義です。

  • yamamoto

    tandaさん、DBへはそもそも登録?されていないようでした。

    税抜計(8%)というようなカラム名だったのですが、

    Erro   ')'の近くに使えない構文がありますと表示され、税抜計(軽減税率)に変換しましたところ

    DB Erro '税抜計'は組み込み関数名として認識されませんと出ます。

    どうしたらよいのでしょうか、、、。

    下記、特性シートです。何かわかることがあれば伺いしたいです。

     

     

  • Tanda

    yamamotoさん、

    > Erro   ')'の近くに使えない構文がありますと表示され、

    半角の「)」はコマンドの一部として誤認される場合がありますから、よく分からないうちは使わない方が無難ですよ。

  • Tanda

    yamamotoさん、

    補足です。

    > Erro   ')'の近くに

    「の近くに」というマイクロソフトの日本語訳は誤解を与えそうですね。
    「の近辺に」とか「の辺りに」という訳のほうがいいでしょうね。
    でないと、「)」自体はいいのかと思ってしまいますよね?

  • yamamoto

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

    半角「)」と「%」を削除して税抜計8にカラム名、DBカラム名を変更したのですが

    今度は列名’税抜計8'は無効ですと表示されます。

    データ自体いちから作り直した方がいいのでしょうか、、、。

  • Tanda

    yamamotoさん、

    データ定義を変更すると、「変換しますか?」とかのメッセージがよく出るのですが、あそこで慌てて間違ったほうを選択してしまうと、テーブルが破損する確率が高いですよ。

  • yamamoto

    HAYATO@アインシュタイン設計社さん、ご返信ありがとうございます。

    見逃していました。

    辞書出力のやり方も知らず分からず、分かりにくい質問の仕方で申し訳ありません。

  • Tanda

    yamamotoさん、

    何か1文字でも変更した場合とか、何か1箇所でも変更した場合に、くどいくらいにF8チェックを掛ける習慣をつけたほうがいいですよ。シンタックスエラーさえ無ければ、そうそう致命的にデータが壊れることはないはずです。

  • yamamoto

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

    色々といじってしまっているので破損した可能性を考えて大変ですが

    いちから作り直してみます。

  • yamamoto

    F8も今後気を付けます。

  • nkmt

    おそらくSQL Serverだと思いますが
    DBカラム名は、税抜計_軽減税率  などがいいと思います。
    DBカラム名は、半角数字で始まるのも駄目だったと思います。

  • nkmt

    私もSQL Severのあるテーブルの
    DBカラム名を 仕入先コード
    改め
    仕入先コード(aa) と変更しました。
    やはり(  ) がいけないのか、テーブルレイアウト決定後
    のデータ変換時にエラーとなりました。

    このDBカラム名については、テーブル定義設定時やF8チェック時には
    SQL Server(かわかりませんが)その規則と照らし合わせての点検まではしてくれない
    と思います。

    とにかく今回の件は、項目命名規則外の項目名となった為、
    データ生成、定義変更などが失敗に終わったという結果です。

  • Tanda

    yamamotoさん、

    補足です。

    あらためて作り直す場合ですが、作り直してもなおかつエラーが出る場合があります。

    その場合は、SQL Server側に壊れたテーブル定義の残骸が幽霊のように居座っている場合がありますので、そういった場合は、Management Studio側できれいに掃除してから定義のし直しをされることをお勧めします。

    そうしませんと、何度でも同じようなエラーが出ることがあります。

  • yamamoto

    nkmtさん、tandaさんありがとうございます!

    勉強になりました。

    新しく作り直したところ、データベースにテーブルがきれいに表示できました。

  • Tanda

    yamamotoさん、

    おめでとうございます!

  • こんにちは  下記の特殊文字は、MAGIC内では問題ないですが、SQL構文には含めないようにした方が良いですよ。

    特殊文字:

    • #, $, %, &, ', (, ), *, +, ,, -, ., /, :, ;, <, =, >, ?, @, [, ], ^, ``, {, |, }, ~ など
    • SQL文の予約語や演算子と混同される可能性があり、意図しない結果を引き起こすことがあります。
    • 半角空白も

サインインしてコメントを残してください。