DB Error 列の定義にはデータ型を含めてください
お世話になっております。
データリポジトリ内でAPG実行すると「DB Error 列の定義にはデータ型を含めてください」
というエラーが表示されます。
データ型というのは特性シートの文字や数値などといった型のことでしょうか。
数値型で作成しているのですがどこを直せばエラーが消えるのでしょうか。
-
yamamotoさん、
F8チェックで何かエラーは出てませんか?
-
tandaさん
ご返信ありがとうございます。F8チェックでは正常となっています。
-
yamamotoさん、
各カラムのカラム特性で、DBへの「格納」や「SQL」定義が意図した通りになっているかどうかを確認するといいですよ。あれこれ作り直していると、ここの定義がずれてしまうことがあります。
よく分からない場合は、そのカラムを作り直した方がいいですよ。
-
tandaさん、ありがとうございます。
データ型というのは格納やSQL定義のことでしょうか。
それとも特性全体のことになりますか?
ちなみに作り直してすぐにAPG実行してもエラーが表示されてしまうのですが
その場合はモデルからの作り直しが必要になってきますでしょうか?
モデルは他のデータにも使用していて他データでは正常にAPG実行できるのですが、、、。
-
yamamotoさん、
なんらかの操作ミスで、DBへの定義がずれてしまっているのだと思います。
SQL ServerのManagement Studioを開いて、定義内容を確認してみましょう。 -
こんにちは
テーブルが作ることが出来てないなら、SSMSでの定義取得は難しいかも...(-_-;)
いっそのこと、そのテーブル辞書出力して、ここにアップした方が話、早くないっすかね?
まぁ、原因をいろいろ自分で探求するのも、勉強にはなりますが......💦
HAYATO@アインシュタイン設計社
-
yamamotoさん、
補足です。
> モデルは他のデータにも使用していて他データでは正常にAPG実行できるのですが、、、。
モデルの定義と、DBが壊れているかどうかは別問題ですよ。
モデルはあくまでも単なるテンプレート定義です。 -
tandaさん、DBへはそもそも登録?されていないようでした。
税抜計(8%)というようなカラム名だったのですが、
Erro ')'の近くに使えない構文がありますと表示され、税抜計(軽減税率)に変換しましたところ
DB Erro '税抜計'は組み込み関数名として認識されませんと出ます。
どうしたらよいのでしょうか、、、。
下記、特性シートです。何かわかることがあれば伺いしたいです。
-
yamamotoさん、
> Erro ')'の近くに使えない構文がありますと表示され、
半角の「)」はコマンドの一部として誤認される場合がありますから、よく分からないうちは使わない方が無難ですよ。
-
yamamotoさん、
補足です。
> Erro ')'の近くに
「の近くに」というマイクロソフトの日本語訳は誤解を与えそうですね。
「の近辺に」とか「の辺りに」という訳のほうがいいでしょうね。
でないと、「)」自体はいいのかと思ってしまいますよね? -
tandaさん、ありがとうございます。
半角「)」と「%」を削除して税抜計8にカラム名、DBカラム名を変更したのですが
今度は列名’税抜計8'は無効ですと表示されます。
データ自体いちから作り直した方がいいのでしょうか、、、。
-
yamamotoさん、
データ定義を変更すると、「変換しますか?」とかのメッセージがよく出るのですが、あそこで慌てて間違ったほうを選択してしまうと、テーブルが破損する確率が高いですよ。
-
HAYATO@アインシュタイン設計社さん、ご返信ありがとうございます。
見逃していました。
辞書出力のやり方も知らず分からず、分かりにくい質問の仕方で申し訳ありません。
-
yamamotoさん、
何か1文字でも変更した場合とか、何か1箇所でも変更した場合に、くどいくらいにF8チェックを掛ける習慣をつけたほうがいいですよ。シンタックスエラーさえ無ければ、そうそう致命的にデータが壊れることはないはずです。
-
tandaさん、ありがとうございます。
色々といじってしまっているので破損した可能性を考えて大変ですが
いちから作り直してみます。
-
F8も今後気を付けます。
-
おそらくSQL Serverだと思いますが
DBカラム名は、税抜計_軽減税率 などがいいと思います。
DBカラム名は、半角数字で始まるのも駄目だったと思います。 -
私もSQL Severのあるテーブルの
DBカラム名を 仕入先コード
改め
仕入先コード(aa) と変更しました。
やはり( ) がいけないのか、テーブルレイアウト決定後
のデータ変換時にエラーとなりました。
このDBカラム名については、テーブル定義設定時やF8チェック時には
SQL Server(かわかりませんが)その規則と照らし合わせての点検まではしてくれない
と思います。
とにかく今回の件は、項目命名規則外の項目名となった為、
データ生成、定義変更などが失敗に終わったという結果です。 -
yamamotoさん、
補足です。
あらためて作り直す場合ですが、作り直してもなおかつエラーが出る場合があります。
その場合は、SQL Server側に壊れたテーブル定義の残骸が幽霊のように居座っている場合がありますので、そういった場合は、Management Studio側できれいに掃除してから定義のし直しをされることをお勧めします。
そうしませんと、何度でも同じようなエラーが出ることがあります。
-
yamamotoさん、
おめでとうございます!
-
こんにちは 下記の特殊文字は、MAGIC内では問題ないですが、SQL構文には含めないようにした方が良いですよ。
特殊文字:
-
#
,$
,%
,&
,'
,(
,)
,*
,+
,,
,-
,.
,/
,:
,;
,<
,=
,>
,?
,@
,[
,]
,^
, ``,{
,|
,}
,~
など - SQL文の予約語や演算子と混同される可能性があり、意図しない結果を引き起こすことがあります。
- 半角空白も
-
サインインしてコメントを残してください。
コメント
22件のコメント