求解决 超难的 怎么调用别的数据库的columnproperty 在线等啊
本帖最后由 widjly 于 2012-11-08 19:19:23 编辑
SELECT name FROM [192.168.1.3].[SohuOA_ADFTest].dbo.syscolumns WHERE ID='1163151189' AND columnproperty(id,name,'IsIdentity')<>1
总是无效。。怎么办啊。。。
columnproperty(id,name,'IsIdentity')总是调用 本地数据库的。。
------最佳解决方案--------------------额~~~不可能啊,我在公司调用,也会返回公司服务器的数据而不是我本机的哦。你访问[]192.168.1.3]上的数据库,然后执行:
SELECT name FROM [SohuOA_ADFTest].dbo.syscolumns WHERE ID='1163151189' AND columnproperty(id,name,'IsIdentity')<>1
会返回你本机的吗?
------其他解决方案--------------------你找一个 有效的 表ID 测一下 columnproperty的值。。总是为空
------其他解决方案--------------------额~~~联机丛书上说为null就是:出现错误时或调用方没有权限查看对象时,将返回 NULL。
------其他解决方案--------------------那。。你用个本地的 有效 表ID测一下。。
我想知道。。有没有 columnproperty的全称 即:[DB].[dbo].[TableName]像这样的。
如查可以也行。
------其他解决方案--------------------AND columnproperty(id,name,'IsIdentity')<>1是找出没有自增列的数据.
用下面的语句,一大堆
SELECT name ,
id
FROM master .dbo.syscolumns
WHERE
COLUMNPROPERTY(id, name, 'IsIdentity') <> 1
------其他解决方案--------------------联机丛书:IsIdentity 列使用 IDENTITY 属性。 1 = TRUE 0 = FALSE NULL = 输入无效。
你的说法应该要用:AND columnproperty(id,name,'IsIdentity')=1
------其他解决方案--------------------。。我是想找 非自增的列。。
可现在问题就是。。找不出一大堆。。
你可以这样。
openrowset (....."SELECT columnproperty('本地数据库表的ID','本地数据库字段名','IsIdentity')";看看。
------其他解决方案--------------------谢谢你了。。。不过。我用别的方法解决。。。
------其他解决方案--------------------openrowset 需要开启连接服务器。