Navicat无论连接mysql或者sql server2005都出现IM004-驱动程序的SQLALLocHandle on SQL_HANDLE_ENV失败

Navicat无论连接mysql或者sql server2005都出现IM004-驱动程序的SQLALLocHandle on SQL_HANDLE_ENV失败,第1张

我氏氏这两天也遇到了这个问题连接Oracle 和 MySQL都没问题,连接MSSQL就会提示这个问题。有可能是微软系统补丁造成的。翻了几页的百度都是歼轮散各种无脑的Copy,后来我看了下NaviCat的连接驱动。删除了重装下就没问题了。具体解决方案:

控制面板,安装与卸载程桐改序:找到

Microsoft SQL Server 2008 Native Client *

卸载它。然后使用NaviCat连接SqlServer数据库,按提示重新安装。

NaviCat版本:11、12

希望对你能有所帮助

String url="jdbc:mysql://localhost:3306/sample_db?user=root&password=your_password"

例如:

import java.sql.DriverManagerimport java.sql.ResultSetimport java.sql.SQLExceptionimport java.sql.Connectionimport java.sql.Statement public class MysqlDemo {public static void main(String[] args) throws Exception {Connection conn = null String sql // MySQL的JDBC URL编写方式:jdbc:mysql://主机名称:连接端口/数据库的名称?参数=值// 避免中文乱码要指定useUnicode和characterEncoding// 执行数据库 *** 作之前要在数据库管理系统上创建一个数据库,名字自己定,// 下面语句之前就要先创建javademo数据库String url = "jdbc:mysql://localhost:3306/javademo?"+ "user=root&password=root&useUnicode=true&characterEncoding=UTF8" try {// 之所以要使用下面这条语句,前缓是因为要使用MySQL的驱动,所以我们要把它驱动起来,// 可以通过Class.forName把它加载进去,也可以慧桥模通过初始化来驱动起来,下面三种形式都可以Class.forName("com.mysql.jdbc.Driver")// 动态加载mysql驱动/消肆/ or:// com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver() // or:// new com.mysql.jdbc.Driver() System.out.println("成功加载MySQL驱动程序") // 一个Connection代表一个数据库连接conn = DriverManager.getConnection(url) // Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等Statement stmt = conn.createStatement() sql = "create table student(NO char(20),name varchar(20),primary key(NO))" int result = stmt.executeUpdate(sql)// executeUpdate语句会返回一个受影响的行数,如果返回-1就没有成功if (result != -1) {System.out.println("创建数据表成功") sql = "insert into student(NO,name) values('2012001','陶伟基')" result = stmt.executeUpdate(sql) sql = "insert into student(NO,name) values('2012002','周小俊')" result = stmt.executeUpdate(sql) sql = "select * from student" ResultSet rs = stmt.executeQuery(sql)// executeQuery会返回结果的集合,否则返回空值System.out.println("学号\t姓名") while (rs.next()) {System.out.println(rs.getString(1) + "\t" + rs.getString(2))// 入如果返回的是int类型可以用getInt()}}} catch (SQLException e) {System.out.println("MySQL *** 作错误") e.printStackTrace() } catch (Exception e) {e.printStackTrace() } finally {conn.close() } } }


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12235899.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存