Soy nuevo en JDBC y estoy tratando de establecer una conexión con una base de datos MySQL. Estoy usando el controlador Connector/J, pero no puedo encontrar la cadena de conexión JDBC para mi método Class.forName()
.¿Cuál es la cadena de conexión del controlador JDBC de MySQL?
Respuesta
Asumiendo que su conductor está en camino,
String url = "jdbc:mysql://localhost/test";
Class.forName ("com.mysql.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection (url, "username", "password");
¿cómo se encuentra la ruta jdbc si no está en variables de entorno? –
En el código de ejemplo, la URL de JDBC se ha codificado, no se ha buscado en ninguna variable de entorno –
¿Ha leído la documentación?
https://dev.mysql.com/doc/connector-j/en/connector-j-reference-configuration-properties.html
Una cadena de conexión básica se parece a:
jdbc:mysql://localhost:3306/dbname
La cadena Class.forName es "com.mysql.jdbc.Driver", que se puede encontrar (edit: ahora en la misma página).
Los enlaces anteriores no funcionan. Aquí hay un nuevo enlace de trabajo: https://dev.mysql.com/doc/connector-j/en/connector-j-reference-configuration-properties.html – hexicle
Reparado, gracias por el encabezado @hexicle. –
Si tengo tres propiedades para usar en la cadena de conexión, ¿cómo se vería la cadena de conexión? Por ejemplo: 'useOldAliasMetadataBehavior = true',' useUnicode = true', 'characterEncoding = UTF-8' –
"jdbc:mysql://localhost"
De la documentación de Oracle ..
jdbc:mysql://[host][,failoverhost...]
[:port]/[database]
[?propertyName1][=propertyValue1]
[&propertyName2][=propertyValue2]
host: puerto es el nombre de host y número de puerto del equipo que aloja la base de datos. Si no se especifica, los valores predeterminados de host y puerto son 127.0.0.1 y 3306, respectivamente.
base de datos es el nombre de la base de datos a la que se conecta. Si no se especifica, se establece una conexión sin una base de datos predeterminada.
failover es el nombre de una base de datos en espera (MySQL Connector/J admite failover).
propertyName = propertyValue representa una lista de propiedades opcional y separada por ampersand. Estos atributos le permiten indicar a MySQL Connector/J que realice varias tareas.
Si tengo tres propiedades para usar en la cadena de conexión, ¿cómo sería la cadena de conexión? Por ejemplo: 'useOldAliasMetadataBehavior = true',' useUnicode = true', 'characterEncoding = UTF-8' –
@B Pavan Kumar Es un URI, por lo que las propiedades deben estar separadas por símbolos ("&"), como se indica en la especificación que cité. –
@ N00bPr0grammer 'jdbc: mysql: // [host] [: puerto]/[base de datos]? UseOldAliasMetadataBehavior = true & useUnicode = true & characterEncoding = UTF-8' –
Es muy simple:
- Ir a MySQL banco de trabajo y las operaciones de búsqueda de base de datos> Administrar conexiones
- verá una lista de conexiones. Haga clic en la conexión a la que desea conectarse.
- Verá una pestaña sobre la conexión, la administración remota, el perfil del sistema. Haga clic en la pestaña de conexión.
- su URL es
jdbc:mysql://<hostname>:<port>/<dbname>?prop1
etc. donde<hostname>
y<port>
se dan en la conexión tab.It en su mayoría serán localhost: 3306.<dbname>
se encuentran en Sistema pestaña Perfil en Windows Nombre del servicio. El valor predeterminado será principalmente MySQL5<x>
donde x es el número de versión, por ejemplo. 56 para MySQL5.6 y 55 para MySQL5.5 etc.Puede especificar su propio nombre de Servicio de Windows para conectarse también. - Construya la URL en consecuencia y configure la url para conectarse.
String url = "jdbc:mysql://localhost:3306/dbname";
String user = "user";
String pass = "pass";
Class.forName ("com.mysql.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection (url, user, pass);
3306
es el puerto por defecto para MySQL.
Si está utilizando Java 7, entonces no es necesario ni siquiera agregar la declaración Class.forName("com.mysql.jdbc.Driver").newInstance();
.La administración automática de recursos (ARM) se agrega en JDBC 4.1 que viene de forma predeterminada en Java 7.
El formato general para una URL JDBC para conectarse a un servidor MySQL es el siguiente, con los elementos entre corchetes ([]) opcional:
jdbc:mysql://[host1][:port1][,[host2][:port2]]...[/[database]] »
[?propertyName1=propertyValue1[&propertyName2=propertyValue2]...]
- 1. Una conexión persistente con JDBC a MySQL
- 2. ¿Para qué es el controlador jdbc "org.gjt.mm.mysql.Driver"?
- 3. ¿Cuál es la opción = N en la cadena de conexión ODBC de MySQL?
- 4. Cifrado de cadena de conexión, ¿cuál es la idea?
- 5. ¿Es correcto que "ResultSet.getMetaData.getTableName (col)" del controlador jdbc de postgresql siempre devuelva una cadena vacía?
- 6. Cómo conectar Android con MySQL usando el controlador Mysql JDBC
- 7. Conexión JDBC colgando
- 8. ClassNotFoundException: com.mysql.jdbc.Driver. JDBC de MySQL controlador para aplicaciones web
- 9. oracle jdbc versión del controlador locura
- 10. ¿Cuál es la referencia adecuada para escribir un controlador MySql?
- 11. Python 3 - Conexión con JDBC
- 12. Buenas prácticas: JDBC de conexión
- 13. Java JDBC estado de la conexión
- 14. JDBC- postgres, conexión rechazada
- 15. Conexión JDBC segura
- 16. ¿Qué es el controlador Jdbc tipo 5
- 17. Python - Conexión a JDBC
- 18. No puedo cargar el controlador JDBC para MySQL
- 19. Coldfusion, ¿cuál es la ventaja del diseño del controlador frontal sobre el controlador de página?
- 20. Conexión a la instancia local de PostgreSql con JDBC
- 21. ASP.NET Cadena de conexión del cifrado/Protección
- 22. configuración NLS_LANG para el controlador JDBC delgado?
- 23. ¿Cuál es el sentido del "Catálogo inicial" en una cadena de conexión de SQL Server?
- 24. ¿Cuál es el tipo de devolución de una consulta de "recuento" contra MySQL utilizando Java JDBC?
- 25. ¿Por qué la conexión al servidor MySQL es tan lenta?
- 26. La consulta Java MYSQL/JDBC está devolviendo datos obsoletos desde la conexión en caché
- 27. Conexión de socket Unix a MySql con Java para evitar la sobrecarga TCP/IP de JDBC?
- 28. Rieles: nombre de la acción del controlador en la cadena
- 29. Duración de la conexión = 0 en la cadena de conexión MySql
- 30. MS SQL Server y JDBC: cerrado conexión
Para empezar, el 'Class.forName()' no espera una cadena de conexión JDBC, sino el nombre de la clase del controlador JDBC. – BalusC