VB连接MYSQL字符串:Driver=MySQL ODBC3.51;....User=myU;Password=Pass;Option=3;,OPTION=3是啥意思?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB连接MYSQL字符串:Driver=MySQL ODBC3.51;....User=myU;Password=Pass;Option=3;,OPTION=3是啥意思?相关的知识,希望对你有一定的参考价值。

参考技术A String mysqlStr = "Database=test;Data Source=127.0.0.1;User Id=root;Password=root;pooling=false;CharSet=utf8;port=3306";
MySqlConnection mysql = new MySqlConnection(mysqlStr);
或者
string MyConString = "DRIVER=MySQL ODBC 3.51 Driver;" +
"SERVER=localhost;" +
"DATABASE=inv;" +
"UID=root;" +
"PASSWORD=root;" +
"OPTION=3";
OdbcConnection MyConnection = newOdbcConnection(MyConString);追问

你并没有回答OPTION=3是什么意思呀?

参考技术B String mysqlStr = "Database=test;Data Source=127.0.0.1;User Id=root;Password=root;pooling=false;CharSet=utf8;port=3306";
MySqlConnection mysql = new MySqlConnection(mysqlStr);
或者
string MyConString = "DRIVER=MySQL ODBC 3.51 Driver;" +
"SERVER=localhost;" +
"DATABASE=inv;" +
"UID=root;" +
"PASSWORD=root;" +
"OPTION=3";
OdbcConnection MyConnection = newOdbcConnection(MyConString);
参考技术C Option值 取值的含义
1 客户端不能处理MyODBC返回一列真实宽度的情况
2 客户端不能处理MySQL返回影响的行的真实值的情况如果设置此标志,MySQL返回’found rows’。 MySQL 3.21.14或更新版才能生效
4 在c:\myodbc.log中生成一个调试日志。这与在`AUTOEXEC.BAT'中的设置MYSQL_DEBUG=d:t:O,c::\myodbc.log相同
8 对于结果和参数不设置任何包限制
16 不使驱动器弹出问题
32 使用或去除动态游标支持。这在MyODBC 2.50中是不允许的
64 在'database.table.column'中忽略数据库名字的使用
128 强制使用ODBC管理器游标
256 去除扩展取值(fetch)的使用
512 充满char字段满长度
1024 SQLDescribeCol()函数返回完全满足条件的列名
2048 使用压缩的服务器/客户端协议
4096 告诉服务器在函数后和'('前忽略空格 (PowerBuilder需要)。这将产生所有函数名关键词
8192 使用命名管道连接运行在NT上的Mysqld服务器
16384 将LONGLONG列改为INTl列(有些应用不能处理LONGLONG列)
32768 从SQLTables中返回’user’作为Table_qualifier和Table_owner
66536 从客户端读参数,从`my.cnf'读ODBC群
131072 增加一些额外的安全性检查
如果你需要许多选项,你应该把以上标志相加。

Java 中的 MySQL 连接错误 - com.mysql.jdbc.Driver

【中文标题】Java 中的 MySQL 连接错误 - com.mysql.jdbc.Driver【英文标题】:MySQL Connection Error in Java - com.mysql.jdbc.Driver 【发布时间】:2014-03-25 17:01:41 【问题描述】:

我一直在尝试将我的 java 应用程序连接到 MySQL 数据库并使用了以下代码行:

import java.sql.*; 
public class AcceptValues extends HttpServlet 

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 

             String url = "jdbc:mysql://localhost:3306/db_name";
             String driver = "com.mysql.jdbc.Driver";
             String userName = "root";
             String password = "";
             try 
             Class.forName(driver);
             Connection conn = DriverManager.getConnection(url,userName,password);
             out.print("Connection estd");
             Statement st = conn.createStatement();
             st.executeQuery("insert into table_name values(2, 'testing');");
             
             conn.close();
              catch (Exception e) 
                 out.print("Error : " +e.getMessage());
             
        

我还将类名设置为我从 mysql 网站下载的 mysql-connector-java-5.1.29-bin.jar。但是我仍然无法使用上面的代码行连接到数据库,并且将 exeption com.mysql.jdbc.Driver 作为错误抛出。

我是 Java 开发的新手,任何帮助都将不胜感激。谢谢。

【问题讨论】:

仅使用 e 打印堆栈跟踪,将 e.getMessage() 更改为 e 使用 e.printStackTrace(),并发布错误堆栈跟踪。并解释“我还将类名设置为 mysql-connector-java-5.1.29-bin.jar”是什么意思。这个 jar 在你的 WEB-INF/lib 文件夹中,对吧? 我没有在 WEB-INF/lib 文件夹中包含 mysql-connector 文件。现在我做到了,一切正常。感谢 JB Nizet 发现错误! WEB-INF/lib 中的 jars 是你的 webapp 的类路径。如果你的 webapp 需要一个库,这个库必须在那里。 【参考方案1】:

WEB-INF/lib 文件夹中添加mysql-connector-java-5.1.29-bin.jar。 仅在构建路径中添加 jar 是不够的。 甚至我一开始也有同样的问题。

【讨论】:

或者,更好的是,学习如何使用 maven、gradle 或其他构建管理工具,它们将为您完成所有这些工作【参考方案2】:

这是你的答案,

右键单击项目属性 --> Java Build Path --> 库 --> 将 Jar 添加到您的项目(您已经下载)

不要对你在servlet文件中的连接信息创建单独的连接文件

在需要时调用类

import java.sql.*;
public class DBConn 

private String url = "jdbc:mysql://localhost:3306/test";
private String driver = "com.mysql.jdbc.Driver";
private String userName = "root";
private String password = "root";
private Connection con = null;

private void getConnection() 

     try 
         Class.forName(driver);
         if(con == null)
             con = DriverManager.getConnection(url,userName,password);
         
         System.out.print("Connection estd");
     catch (Exception e) 
         System.out.print("Error : " +e.getMessage());
    



/**for desktop application */
public static void main(String[] arg)

    DBConn con = new DBConn();
    con.getConnection();
  

您也可以使用以下代码在您的 sevelet 中获取连接

import java.sql.*; 
public class AcceptValues extends HttpServlet 

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 

   DBConn con = new DBConn();
   con.getConnection();


此示例代码,但您可以使其更高效,这只是示例,

请提供完整的错误/异常信息

【讨论】:

【参考方案3】:

com.mysql.jdbc.Driver 作为错误。

我遇到了这个问题,在大多数情况下,这个问题背后有两个原因。一是缺少mysql的jar文件,二是没有启动mysql服务。

【讨论】:

以上是关于VB连接MYSQL字符串:Driver=MySQL ODBC3.51;....User=myU;Password=Pass;Option=3;,OPTION=3是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

vb如何连接ORACLE数据库?

C#中连接MySql的字符串

Delphi ADO MySQL直接连接方式

Pentaho MySQL 8 连接错误 Driver class 'org.gjt.mm.mysql.Driver' 找不到

jdbc连接字符串

ASP.NET 使用 SqlConnection 连接 MySQL