尝试通过java连接到mysql数据库时出现以下错误
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:未知数据库'dbname'
我在数据库位于本地主机上时编写了相同的代码并且它可以工作,但是在删除以前的连接并在新连接中创建新表后会出现错误。我已经dbname
在新服务器实例的新连接中创建了 mysql 中的数据库,请告诉我如何从 mysql 获取 db 域以及如何解决此问题,我的代码如下:
public static void main(String[] args) throws ClassNotFoundException, SQLException, FileNotFoundException
{
try
{
int i;
int numcol = 1;
int j;
int count = 0;
int c = 0;
Class.forName("com.mysql.jdbc.Driver");
Connection con=null;
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/dbname","root", "ellimist");
Statement st=(Statement) con.createStatement();
FileInputStream file = new FileInputStream(new File("C:\\Users\\krayak\\Desktop\\Final.xlsx"));
XSSFWorkbook workbook=new XSSFWorkbook(file);
XSSFSheet sheet=workbook.getSheetAt(0);
List sheetdata=new ArrayList();
List a=new ArrayList();
int numrow=sheet.getPhysicalNumberOfRows();
Iterator<Row> rowiterator=sheet.rowIterator();
while(rowiterator.hasNext())
{
Row row =rowiterator.next();
List data=new ArrayList();
for(i=0;i<numcol;i++)
{
XSSFCell cell;
if(row.getCell(i)==null)
{
cell=(XSSFCell) row.createCell(i);
data.add(cell);
}
else
{
cell=(XSSFCell) row.getCell(i);
data.add(cell);
}
}
sheetdata.add(data);
}
file.close();
for(i=numrow;i<sheetdata.size();i++)
{
List list=(List) sheetdata.get(i);
for(j=0;j<numcol;j++)
{
XSSFCell cell=(XSSFCell) list.get(j);
if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC)
{
a.add(cell.getNumericCellValue());
System.out.println(cell.getNumericCellValue());
}
else if (cell.getCellType() == Cell.CELL_TYPE_STRING)
{
a.add(cell.getRichStringCellValue());
System.out.println(cell.getRichStringCellValue());
}
else if (cell.getCellType() == Cell.CELL_TYPE_BOOLEAN)
{
a.add(cell.getBooleanCellValue());
System.out.println(cell.getBooleanCellValue());
}
else if (cell.getCellType() == Cell.CELL_TYPE_BLANK)
{
a.add(null);
System.out.println(cell);
}
}
count++;
}
for(i=0;i<count;i++)
{
String sql="insert into testing.test (name) values ('";
sql += a.get(c++) + "')";
st.executeUpdate(sql);
}
}
catch(NullPointerException e)
{
System.out.println("null pointer exception"+e);
e.printStackTrace();
}
catch(SQLException ex)
{
System.out.println("sqlexception "+ex);
}
catch(FileNotFoundException ex)
{
System.out.println("file not found "+ ex);
}
catch(Exception ex)
{
System.out.println("exception\n"+ex);
}
}
}