请教奇怪的问题,急急!!

paul2002 2011-09-01 11:12:58
各位高手,我碰到了一个奇怪的问题:
在WIN7环境下,在WINFORM界面上一旦使用EXCEL Interop 操作EXCEL后,在后台线程里就连接不上SQL SERVER 2005了。如果不操作EXCEL Interop,则一点问题也没有。
不知道各位有没有碰到过,谢谢!
...全文
88 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ziyue007 2011-10-12
  • 打赏
  • 举报
回复
我觉得连接数据库有问题,断点调试一下吧
yisiyou 2011-10-12
  • 打赏
  • 举报
回复
学习学习,支持下楼主!
watcf5201314 2011-09-29
  • 打赏
  • 举报
回复
关注
顺便接分 =。=
  • 打赏
  • 举报
回复
1.查sql 1433端口有没有开启。
2.SQL.扩展服务器是否开启。如:补丁。
ziyue007 2011-09-16
  • 打赏
  • 举报
回复
没见过,帮顶!
cocoabird 2011-09-15
  • 打赏
  • 举报
回复
没遇到过这样的问题,帮定下
paul2002 2011-09-02
  • 打赏
  • 举报
回复
如果取消Pooling后,则报:

Error:2011/9/1 21:07:09--------------在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接): 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
在 System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject)
在 System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject)
在 System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart)
在 System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
在 System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
在 System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
在 System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
在 System.Data.SqlClient.SqlConnection.Open()
在 AlarmsViewer.Form1.GetDataFromDB()
在 AlarmsViewer.Form1.Search_sqldata()
paul2002 2011-09-02
  • 打赏
  • 举报
回复
Error:2011/9/1 20:51:32--------------在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 应用程序没有调用 WSAStartup,或者 WSAStartup 失败。): 在 AlarmsViewer.Form1.SQLselect(String strSQL, SqlConnection connection, String tablename)
在 AlarmsViewer.Form1.SelectData(SqlConnection connection_data)
在 AlarmsViewer.Form1.GetDataFromDB()
在 AlarmsViewer.Form1.Search_sqldata()
Error:2011/9/1 20:52:08--------------在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接): 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
在 System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject)
在 System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject)
在 System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart)
在 System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
在 System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
在 System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
在 System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
在 System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
在 System.Data.SqlClient.SqlConnection.Open()
在 AlarmsViewer.Form1.GetDataFromDB()
在 AlarmsViewer.Form1.Search_sqldata()
paul2002 2011-09-02
  • 打赏
  • 举报
回复
public Form1()
{
InitializeComponent();

MyLog.Create(AppHelper.GetFullPath("alarmlogs.log"));

if (!init())
this.Close();


inittimer();

thread1 = new Thread(new ThreadStart(Search_sqldata));

thread1.Start();

MyLog.Write(LogLevelType.Info, "线程启动");


}
public void Search_sqldata()
{
while (true)
{
mut.WaitOne();
try
{

GetDataFromDB();

dberror = false;
}
catch (Exception e)
{
MyLog.Write(LogLevelType.Error, e.Message + ":" + e.StackTrace);
dberror = true;

}
mut.ReleaseMutex();
if (autoEvent.WaitOne(1000, true))
{
MyLog.Write(LogLevelType.Info, "event signaled");
autoEvent1.Set();
return;

}
else
{
//MyLog.Write(LogLevelType.Info, "event timeout");
}


Thread.Sleep(int.Parse(Config.GetTime()) * 1000);
}
}
private void GetDataFromDB()
{
SqlConnection conn = null;
conn = new SqlConnection(connstring);
conn.Open();

SelectData(conn);

conn.Close();
}
gold_water 2011-09-02
  • 打赏
  • 举报
回复
最好贴点关键代码出来,否则难以想象。

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧