select * from yang.biao,yang1.biao2; 大家看下.查询结果总说对象名无效呀
如果你在yang庫下,那麼訪問這個庫中的對象時可以不用加前輟,在yang1庫下同理. 試試 use yang select * from biao,yang1.dbo.biao2
邊接上一個數據庫後,通過如下方法可訪問另一個數據庫: SELECT * INTO #Table1 FROM OPENDATASOURCE( 'SQLOLEDB', 'Data Source=192.168.1.1;User ID=sa;Password=password' ).PPILOT.dbo.Table2 Where Name='xxx' 可作參考作其它方面的操作。
Sorry , 看錯了。上面的是訪問安裝在不同主機上的SQL數據庫的方法。 同時訪問不同的數據庫,如下: SELECT * FROM DB1.ADO.TABLE1 AS A LEFT JOIN DB2.ADO.TABLE2 AS B ON A.ID=B.ID
如果安装在不同主机上,可以先分别添加连接数据库. 然后可以SELECT * FROM server1.数据库.dbo.table1 这样就可以了. 如果同一主机,可以直接select * from 数据库.dbo.table
默认dbo可以省略并不代表你可以只写2个成分省略的意思是select * from dbname.dbo.tablename可以省略成select * from dbname..tablename而你写成 select * from yang.biao,yang1.biao2; 这样当然是对象无效
这里给你举个实际的例子 这里有两个数据库,test1,test2 如果你在test1这个数据库的目录下面 select * from table1 and test2.dbo.table2 其中的dbo可以不写,那写法就为 select * from table1 and test2..table2 看清楚在不写dbo的时候需要多加一个点。
数据库名.所有者(默认DBO可省略).表名即可,如果是跨服务器的,在保证你有访问两个SQL的权限的前提下,使用,服务器前缀即可
如:
服务器名称.数据库名.所有者(默认DBO可省略).表名
大家看下.查询结果总说对象名无效呀
試試
use yang
select * from biao,yang1.dbo.biao2
SELECT * INTO #Table1
FROM OPENDATASOURCE( 'SQLOLEDB', 'Data Source=192.168.1.1;User ID=sa;Password=password' ).PPILOT.dbo.Table2
Where Name='xxx'
可作參考作其它方面的操作。
同時訪問不同的數據庫,如下:
SELECT * FROM DB1.ADO.TABLE1 AS A
LEFT JOIN DB2.ADO.TABLE2 AS B ON A.ID=B.ID
然后可以SELECT * FROM server1.数据库.dbo.table1
这样就可以了.
如果同一主机,可以直接select * from 数据库.dbo.table
select * from yang.biao,yang1.biao2;
这样当然是对象无效
这里有两个数据库,test1,test2
如果你在test1这个数据库的目录下面
select * from table1 and test2.dbo.table2
其中的dbo可以不写,那写法就为
select * from table1 and test2..table2
看清楚在不写dbo的时候需要多加一个点。