2011-12-29 140 views
-1

这是我的代码OLEDB连接异常

string connectionString = @"Provider=SQLOLEDB;Data Source=Machine Name;Initial Catalog=MyTestDatabase;"; 
OleDbConnection conn = new OleDbConnection(connectionString); 
DataTable result = new DataTable(); 
try 
{ 
    conn.Open(); 
    OleDbCommand cmd = new OleDbCommand("get_holidays", conn); 
    cmd.CommandType = CommandType.StoredProcedure; 
    OleDbDataAdapter adapter = new OleDbDataAdapter(cmd); 
    adapter.Fill(result); 
} 

$ {例外 “无效的授权规范”}期间 conn.open被抛出()。

+0

你如何连接到sql服务器?通过Windows身份验证或SQL Server身份验证? – Ruben 2011-12-29 08:54:30

+0

我对同一网络中的另一台机器使用了相同的格式。在这里,我试图连接到我工作的同一个系统中的服务器 – 2011-12-29 08:55:05

+1

http://www.connectionstrings.com/sql-server-2008-帮助您解决任何连接字符串问题。也把你的连接到一个使用,所以它被处置。 – Coops 2011-12-29 08:58:39

回答

2

连接字符串格式没有访问:

Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False; 

Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI; 
+0

感谢它的工作.. :) – 2011-12-29 09:03:15

+0

如果它的工作接受ans d :) – 2011-12-29 09:04:16

0

没有usernamepasswordconnection string

+0

是否需要? SQL服务器在我的机器本身 – 2011-12-29 08:55:58

+2

它必须仍然在正确的格式,如果没有指定用户名密码,那么你可以指定集成安全 – Coops 2011-12-29 08:59:36

0

尝试这个连接字符串

Provider=SQLOLEDB;Data Source=Machine Name;Initial Catalog=MyTestDatabase;Integrated Security=SSPI 

如果行不通本地 - 那么你要你的SQL Server

+0

不工作..., – 2011-12-29 08:58:54

+0

您使用登录密码或Windows身份验证? – 2011-12-29 09:02:17

+0

更改了答案 – 2011-12-29 09:03:11

1

添加Integrated Security=SSPI不指定用户名和密码,尤其是当你的连接字符串。在这种情况下,当前使用Windows account凭证进行身份验证。

Provider=SQLOLEDB;Data Source=ServerName;Integrated Security=SSPI;Initial Catalog=databaseName