2012-10-02 3 views
0

우리 앱 중 하나에 sqlanywhere와 sql server 모두에서 작동해야하는 powerbuilder 데이터 창이 있습니다. 테이블 데이터 윈도우는 두 dbms 모두에 기본 키 고유 컬럼을 가지고 있습니다. 새 행을 삽입하면 sqlanywhere의 드라이버 또는 데이터베이스가 이미 테이블에없는 값을 전달하지만 동일한 삽입이 SQL Server에 대해 수행되면 값 1이 이미 테이블에 있으므로 삽입이 실패합니다. SQL Server 및 Powerbuilder와 관련된 질문 일 수 있지만 모든 질문을 찾을 수는 없으므로 여기에서 물어볼 것입니다.sql anywhere 및 sql server의 중복 키 값

감사합니다.

+0

삽입 SQL 문은 어떻게 생겼습니까? – doublesharp

+0

삽입 통계는 데이터 윈도우에 의해 생성되고 abpt를 dup 키로 불리는 열의 값을가집니다. sqla 값은 볼 수 없지만 sql 서버 값은 1이고 그 값은 이미 있습니다. – jur

답변

0

여기 하루 종일 쓰고 내 자신의 문제에 대한 답변입니다. 우리는 이전에 삽입 트리거를 통해 SQL 서버에 값을 삽입하는 데 문제가있는 열의 고유 키를 생성했습니다. 이 트리거는 삽입이 dbms로 보내지기 전에 실제로 고유 키를 계산 중이며 키를 올바르게 계산하고있었습니다. 그러나 '삽입 대신'트리거 (SQL 서버 허용)를 통해 SQL Server에 구현 된 동일한 트리거는 버그로 인해 고유 키를 계산하지 못했습니다. 일단 그것을 고쳐서 문제를 해결했습니다. Powerbuilder 데이터 윈도우 자체는 아무 관계가 없었으며 초기 값이있는 경우 해당 열에 설정된 초기 값을 dbms에 전달했습니다. 이게 도움이되기를 바랍니다.