Sql Server OPENDATASOURCE 问题

来源:百度知道 编辑:UC知道 时间:2024/06/27 08:23:08
OPENDATASOURCE 在查询分析器下执行一点问题都没有
但在程序中用ExecuteNonQuery提示sa登录失败,未与信任sql server连接相关联
我用的是C#.NET Windows程序 不是ASP.NET,可以确定和那无关 而且连接字符串没错

OPENDATASOURCE 是Sql Server函数

微软专家吴熹能否稍微详细点,两个数据库都是混合模式登录的
本机连接字符串为Data Source=.;User ID=sa;Password=123;database=Northwind;
远程访问数据库语句为,把远程的IP改成本机没问题
SELECT *
FROM OPENDATASOURCE(
'SQLOLEDB',
'Data Source=192.168.1.78;User ID=sa;Password=123'
).Northwind.dbo.Categories

本机连接字符串为Data Source=.;User ID=sa;Password=123;database=Northwind;
远程访问数据库语句为,把远程的IP改成本机没问题
--------------------
楼主的是用C#连接非本机数据库,使用了OPENDATASOURCE函数?

如果是这样,要确保远程数据库的设置是否启用
OPENDATASOURCE权限,这项设置是在SQL2005时需要设置

楼主应该用的是非本机数据库用了信任连接,改为用户名连接如:sa

这个你得提供你的数据库版本,
以及你的C#代码中或者是配置文件中的连接字符串。

不过最好是写成存储过程,交给ADO.NET调用,这样比较好。

对于Sql Server2005及以上版本,OpenDataSource是关闭的,需要手工打开

sp_configure 'Ad Hoc Distributed Queries','1'
RECONFIGURE
否则会读取失败

检查你的web.config文件,配置信息可能写错了