2014-01-13 4 views
0

Я установил mysql-сервер WAMP и создал базу данных с именем getataxi. Когда я перехожу к phpMyAdmin, я могу видеть базу данных и ее таблицы. Я также подключился к этой базе данных через JDBC. Когда я создаю подключение к базе данных, используя:Ошибка таблицы JDBC: Неизвестная база данных

conn = DriverManager.getConnection (DB_URL, USER, PASS);

Я получаю эту ошибку:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Неизвестный базы данных '' getataxi в sun.reflect.NativeConstructorAccessorImpl.newInstance0 (Native Method) в sun.reflect.NativeConstructorAccessorImpl.newInstance (Unknown Source) в sun.reflect.DelegatingConstructorAccessorImpl.newInstance (Unknown Source) в java.lang.reflect.Constructor.newInstance (Unknown Source) в com.mysql.jdbc.Util. час andleNewInstance (Util.java:411)

В чем проблема?

Примечание:

  1. Мой WAMP сервер в Интернете.
  2. Я попытался подключиться к тестовой базе данных, которая поставляется с программным обеспечением, похоже, что она может найти тестовую базу данных, потому что я получаю другое сообщение об ошибке, указывающее, что таблица в базе данных не найдена и не является ее истинной.
  3. Я попытался построить getataxi с прописными буквами и строчной буквой, но не помог.
  4. У меня был * .sql файл, содержащий таблицы, которые я импортировал.
  5. DB_URL является jdbc:mysql://localhost/getataxi я также попытался jdbc:mysql://localhost:3306/getataxi
  6. Mysql USER является корнем
  7. Я использую Windows,
+0

post DB_URL и USR – venergiac

+0

Можете ли вы получить доступ к getataxi по сети? Если нет, откроется ли порт и прослушивается mysql? – hd1

ответ

2

Следующая упрощенный случай отлично работает для меня под WAMP (USBWebserver), успешно список всех таблиц в базе данных по имени getataxi:

import java.sql.*; 

public class mysqlTestMain { 

    public static void main(String[] args) { 
     Connection conn = null; 
     try { 
      String myConnectionString = 
        "jdbc:mysql://localhost:3306/getataxi?" + 
        "useUnicode=yes&characterEncoding=UTF-8"; 
      conn = DriverManager.getConnection(myConnectionString, "root", "beer"); 
      Statement stmt = conn.createStatement(); 
      stmt.execute("SHOW TABLES"); 
      ResultSet rs = stmt.getResultSet(); 
      while (rs.next()) { 
       System.out.println(rs.getString(1)); 
      } 
      rs.close(); 
      stmt.close(); 
      conn.close(); 
     } catch (SQLException ex) { 
      ex.printStackTrace(); 
     } 
    } 

} 

Если же код не работает для вас, то попробуйте следующее код для отображения всех (видимых) баз данных на сервере:

import java.sql.*; 

public class mysqlTestMain { 

    public static void main(String[] args) { 
     Connection conn = null; 
     try { 
      String myConnectionString = 
        "jdbc:mysql://localhost:3306?" + 
        "useUnicode=yes&characterEncoding=UTF-8"; 
      conn = DriverManager.getConnection(myConnectionString, "root", "beer"); 
      Statement stmt = conn.createStatement(); 
      stmt.execute("SHOW DATABASES"); 
      ResultSet rs = stmt.getResultSet(); 
      while (rs.next()) { 
       System.out.println(rs.getString(1)); 
      } 
      rs.close(); 
      stmt.close(); 
      conn.close(); 
     } catch (SQLException ex) { 
      ex.printStackTrace(); 
     } 
    } 

} 

Когда я запускаю его я получаю список, как это:

information_schema 
getataxi 
mydb 
mysql 
performance_schema 
test 
+0

им очень жаль беспокоить весь этот вопрос, оказалось, что я забыл, что ive установил mysql-сервер месяц назад, прежде чем wamp и его запуск как службы, поэтому, когда я подключаюсь к базе данных, она подключается к mysql, а не к wamp, теперь я остановил mysql-сервис, и он работает, снова так извините –

0

MySQL таблицы и базы данных соответствуют файлам. Так что если вы находитесь под Linux, то они с учетом регистра (но не под Windows).

-1

Как вы сказали, у вас есть сервер WAMP до:

Спасите ниже кода в PHP файл и поместить его в папку WWW и попытаться получить доступ к странице

<?php 
$username = "root"; 
$password = "your_password"; 
$hostname = "localhost:3306"; <==change port if different1 

//connection to the database 
$dbhandle = mysql_connect($hostname, $username, $password) 
    or die("Unable to connect to MySQL"); 
echo "Connected to MySQL<br>"; 
?> 

Вы должны быть в состоянии видеть Подключено к сообщению MySQL в вашем браузере, чтобы подтвердить имя хоста, имя пользователя и пароль.

В Java коде

import java.sql.*; 
public class Java2MySql 
{ 
    public static void main(String[] args) { 
     String url = "jdbc:mysql://localhost:3306/"; 
     String dbName = "demo” 
     String driver = "com.mysql.jdbc.Driver"; 
     String userName = "root"; 
     String password = "mypasswd"; 
     try { 
     Class.forName(driver).newInstance(); 
     Connection conn = DriverManager.getConnection(url+dbName,userName,password); 
     conn.close(); 
     System.out.println("Successfully connected"); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 

Вы видите успешно подключен без каких-либо ошибок. Тогда у вас есть некоторые проблемы в коде. Проверьте свой код правильно.

+0

@downvoter может я знаю, что резонанс для downvote ..? – Lucky

Смежные вопросы