SqlServer 2000 开发问题

WBOY
풀어 주다: 2016-06-07 15:12:51
원래의
1239명이 탐색했습니다.

1.NULL永不=NULL .如何设置让 NULL=NULL呢? declare @tab table (id int ) insert into @tab select 1 select * from @tab where null = null 问题解决: 比较前用 set ANSI_NULLS off ,别忘了比较完后再设置为原来的默认值.:) set ANSI_NULLS on 2.分布式事

1.NULL永不=NULL .如何设置让 NULL=NULL呢?

declare @tab table (id int )
insert into @tab select 1

select * from @tab where null = null


问题解决: 比较前用 set ANSI_NULLS  off ,别忘了比较完后再设置为原来的默认值.:) set ANSI_NULLS  on
2.分布式事务总是出错.
现象:

begin tran
select * from [192.168.1.100].aigdollar.dbo.shoporderinfo
commit

该操作未能执行,因为 OLE DB 提供程序 'SQLOLEDB' 无法启动分布式事务。
[OLE/DB provider returned message: 新事务不能登记到指定的事务处理器中。 ]

问题解决:
打开MSDTC的安全配置,选中:
   网络DTC访问.
   允许入站.
   允许出站.
   不要求进行验证.
   启用事务 Ineternet 事务 (TIP事务).
   启用 XA 事务.
   DTC登录帐户:   NT Authority\NetworkService
   防火墙打开 135 端口( RPC ),允许 MSDTC  ( 或打开1885 端口).
OK!
    微软资料:  http://support.microsoft.com/kb/Q899191
 
3.如何在SQL-Server的系统表中找出主键而非索引?
   下列代码只能找出索引:

CREATE TABLE [abc] (
    
[id] [int] NOT NULL ,
    
[con] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,
    
CONSTRAINT [PK_abc] PRIMARY KEY  NONCLUSTERED 
    (
        
[id]
    )  
ON [PRIMARY] 
ON [PRIMARY]
GO

 
CREATE  UNIQUE  CLUSTERED  INDEX [ic] ON [dbo].[abc]([con]ON [PRIMARY]
GO

select object_name(id),*
from  dbo.sysindexkeys 
where object_name(id)='abc'


   问题解决:
http://www.itdb.cn/n/200605/22/n20060522_6914.shtml
分析晕了.呵呵.分析后关键代码是这样的.

select * from sysobjects where parent_obj = object_id('abc')

select * from sysindexes  where  id = object_id('abc')

select * from sysindexkeys where  id = object_id('abc')


所以下面这样是有道理的.

SELECT  * 
FROM syscolumns as Col join sysobjects as Obj on ( Col.id = Obj.parent_obj ) 
WHERE (Obj.xtype = 'PK')
and Obj.parent_obj = object_id('abc')
and Obj.name IN 
(
    
SELECT name  
    
FROM sysindexes as ix
    
WHERE  ix.id = object_id('abc')  AND  ix.indid IN
        (
            
SELECT indid  
            
FROM sysindexkeys as ik
            
WHERE (id = object_id('abc') ) AND ik.colid IN
                (
                    
SELECT colid 
                    
FROM syscolumns  as col2
                    
WHERE  col2.id = object_id('abc')  AND  col2.name = Col.name
                )
        )
     
)

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿