database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 3969 게시물 읽기
No. 3969
[급] 분산트랜잭션관련 문의 (메시지 7391)
작성자
reo007
작성일
2008-01-11 15:45
조회수
4,517

안녕하세요. 
분산트랜잭션을 사용할려고 합니다. 그런데 아래와 같은 메시지가 뜨내요? 많은 조언 부탁드립니다.

메시지 7391, 수준 16, 상태 2, 프로시저 test_emc_opd_insert_sync, 줄 43
연결된 서버 "TEST_DB"의 OLE DB 공급자  "Sybase.ASEOLEDBProvider"이(가)분산 트랜잭션을 시작할 수 없으므로 요청한 작업을 수행할 수 없습니다.

세부사항
 OS  : 윈도우 2003 서버 입니다.
 DB  : SQL Server 2005
목적 : SQL Server 2005 -> (sybase.ASEOLEDBProvider) -> Sybase12.5 DTC 
                          프로그램을 이용하여 데이터를 가져올려고 합니다.

Sybase ASE Error 코드 목록에서는 7391 내역이 없습니다.
7391내역은 SQL Server2005에서 나타나는것 같습니다.

트리거 내용
1. SQL Server 2005에서 트리거를 생성한다. 
2. 트리거내의 정보
   2-1) Select (Sybase ASE)에 접속하여 해당테이블을 조회한다.
   2-1) 조회한 데이터 값이 있을경우는 상관 없지만 없을경우에는
   3-3) SQL Server 2005에서 (Sybase ASE)DB로 데이터 값을 인서트한다는 내용 입니다.

=======================================================================
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO 

ALTER TRIGGER [dbo].[test_emc_opd_insert_sync]
 on [dbo].[CAD_USER_MSTR]
AFTER INSERT
AS 

DECLARE  @ptnt_no varchar(100)  --
  ,@ptnt_nm varchar(30)  --
  ,@card_type varchar(1)  --
  ,@sex varchar(1)   --
  ,@prsn_no char(13)   --
  ,@fst_iss_ymd char(8)  --
  ,@last_mod_dt datetime --
  ,@tmpsql1 varchar(1000) --
  ,@tmpsql2 nvarchar(1000)
  ,@tmprowcnt int

SELECT   @ptnt_no = PTNT_NO
  ,@ptnt_nm = PTNT_NM
  ,@card_type = CARD_TYPE
  ,@sex = SEX
  ,@prsn_no = PRSN_NO
  ,@fst_iss_ymd = FST_ISS_YMD
  ,@last_mod_dt = LAST_MOD_DT
FROM Inserted

--SET XACT_ABORT ON
--BEGIN DISTRIBUTED TRAN 

SET @tmpsql1 = 'SELECT * FROM OPENQUERY(TEST_DB,''SELECT PTNT_NO FROM CAD_USER_MSTR WHERE PTNT_NO = ' + @ptnt_no + ''')'
EXEC (@tmpsql1) 

SET @tmprowcnt = @@rowcount

IF(@tmprowcnt = 0)
BEGIN 
 SET @tmpsql2 = ' INSERT OPENQUERY(TEST_DB,''SELECT PTNT_NO, PTNT_NM, CARD_TYPE, SEX, PRSN_NO, FST_ISS_YMD, LAST_MOD_DT FROM CAD_USER_MSTR WHERE 1=0'') '
      +' VALUES('+@ptnt_no+','''+@ptnt_nm+''',NULL,'''+@sex+''','''+@prsn_no+''','''+@fst_iss_ymd+''',getdate()) ' 
 EXEC (@tmpsql2)

 --select @@SERVERNAME 
 
END 

--COMMIT TRAN
--SET XACT_ABORT OFF

[Top]
No.
제목
작성자
작성일
조회
3972ODBC 시스템 DSN 엑세스드라이버 추가에 관해 문의드립니다. [1]
박계균
2008-01-12
3487
3971쿼리 좀 봐주세요... [3]
김현
2008-01-12
3913
3970varchar->real [1]
줄리아
2008-01-12
2824
3969[급] 분산트랜잭션관련 문의 (메시지 7391)
reo007
2008-01-11
4517
3968pivot 사용에서 질문....
이경훈
2008-01-11
3353
3967쿼리 질문 하나 드립니다. 가능한경우인지 봐주세요 [3]
김민
2008-01-11
3326
3966트리에 관한 질문 [2]
김현호
2008-01-10
3276
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다