0

私はSQL Anywhereに次の表を持っています:

CREATE TABLE "documents" (
    "doc_id" uniqueidentifier NOT NULL DEFAULT NEWID(*),
    "doc_description" varchar(50) NOT NULL,
    ...
    PRIMARY KEY("doc_id")
)

データウィンドウを作成しました。

(SQL ステートメント:

SELECT
"documents"."doc_id",      
"documents"."doc_description"
FROM "documents"   
WHERE "documents"."doc_id" = :ruid_doc )

ruid_doc検索引数と type = string として追加しました。

保存しようとすると、次のエラーが表示されます。

SQLSTATE = 07006 [Sybase][ODBC Driver] 0 を uniqueidentifier に変換できません。

と を使ってみましconvertcast

参考までに、編集ソースを介してこれを行うことができます。

4

1 に答える 1

0

データウィンドウで自動インクリメントされた列を使用する方法を説明するこの投稿が役立つ場合があります。

要するに:

  • DWでは、列を数値として宣言します
  • DW の更新プロパティで、「ID 列」に正しい列を選択します。
  • 使用する DBMS によっては、PBODBxxx.ini挿入後に ID 列を取得する方法 (xxx はバージョン番号) を指定する必要があります。Sybase ドライバーを使用しているように見えるので、

    [Sybase SQL Server]
    PBSyntax='SYBASE_SYNTAX'
    

    [SYBASE_SYNTAX]
    GetIdentity='Select @@identity'
    ; GetIdentity='Select max(IDENTCOL) from &TableName'
    ; Alternative technique if table has insert trigger associated with it.
    

投稿はそれを完全に詳細に説明しています。

于 2013-01-28T13:33:56.090 に答える