我用odbc连接s1q2000数据库,应用程序采用adoconnection 连接数据库成功。
然后应用程序采用多线程向数据库发送sql语句查询,每个线程发送大量的多条sql语句查询
但是偶尔会出现一些错误
[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
[Microsoft][ODBC SQL Server Driver][Shared Memory]SQL Server 不存在或访问被拒绝
把这些错误关闭后,发送sql语句的各条线程还能正常运行这是什么原因造成的呢 是不是发送查询语句的时候太忙,odbc来不及响应 才会出现这样的问题呢??
然后应用程序采用多线程向数据库发送sql语句查询,每个线程发送大量的多条sql语句查询
但是偶尔会出现一些错误
[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
[Microsoft][ODBC SQL Server Driver][Shared Memory]SQL Server 不存在或访问被拒绝
把这些错误关闭后,发送sql语句的各条线程还能正常运行这是什么原因造成的呢 是不是发送查询语句的时候太忙,odbc来不及响应 才会出现这样的问题呢??
不知道我这里的connection 和你所说的连接数是不是一个概念
在我本机Tomcat做测试,发现使用startup.bat启动Tomcat服务后,访问Web服务一切正常。 但使用Monitor Tomcat 启动Tomcat作为服务例程,则访问Web服务报错: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序。
2. 但ODBC数据源配置时测试也正常。 我晕。
3. 跟踪排查一下,发现是在 DriverManager.getConnection()的时候报错的。 可能还是ODBC的问题。 但不知道是咋回事了。
4. 上网查了N久,一语道破“要用系统DSN”。 关于这点还真没有想到。
5. 一直使用“用户DSN”建立“用户数据源”的。 DSN:Date Source Name,数据源名称。
6. 在“ODBC数据源管理器”中,设置用于连接数据库的DSN有三种: 用户DSN、系统DSN和文件DSN。 因为Monitor Tomcat启动的Tomcat服务是作为系统级NT服务例程运行的,这样就无法访问“用户DSN”建立的“用户数据源”。
7. 果然,建立了“系统数据源”就OK了。
来源:http://hi.baidu.com/honglg365/blog/item/cf8c3e179862630b4b90a73f.html
[Microsoft][ODBC SQL Server Driver][Shared Memory]SQL Server 不存在或访问被拒绝>>>
这个错误是出现在哪里的?
connection.open()
还是执行SQL时候?
while(条件)
{
执行sql;
}
大部分sql语句执行都是正确的 偶尔一两条会出现上述的问题