Класс DataSource не может разрешить символ - PullRequest
0 голосов
/ 22 февраля 2012

При компиляции файла Java ниже я получаю сообщение об ошибке для класса DataSource.Это не показывает какую-либо ошибку в операторе импорта.Пожалуйста, помогите мне.

Пример кода

import java.io.*;
import java.sql.Connection;
import java.sql.SQLException; 
import java.util.Date;
import java.util.Hashtable;
import javax.naming.*;
import javax.rmi.PortableRemoteObject;
import javax.sql.DataSource;
public class DBConnectionManager
{
private Hashtable pools;
public synchronized Connection getConnection(String s)
{
    try
    {
        DataSource datasource = (DataSource)pools.get(s);
        Object obj = null;
        if(datasource != null)
        {
            Connection connection = datasource.getConnection();
            return connection;
        } else
        {
            InitialContext initialcontext = new InitialContext();
            Object obj1 = initialcontext.lookup("java:comp/env/jdbc/" + s);
            DataSource datasource1 = (DataSource)PortableRemoteObject.narrow(obj1, javax.sql.DataSource.class);
            pools.put(s, datasource1);
            Connection connection1 = datasource1.getConnection();
            return connection1;
        }
    }
    catch(SQLException sqlexception)
    {
        log(sqlexception, "SQL In getConnection for pool " + s);
    }
    catch(NamingException namingexception)
    {
        log(namingexception, "Naming In getConnection for pool " + s);
    }
    return null;
}    
}

Ошибка

DBConnectionManager.java: 56: не удается разрешить символьный символ: местоположение класса источника данных: класс DBConnectionManager источник данных источника данных = (DataSource) pools.get (ы);^ DBConnectionManager.java:56: невозможно разрешить символьный символ: класс Расположение источника данных: класс DBConnectionManager DataSource datasource = (DataSource) pools.get (s);^ DBConnectionManager.java:66: не удается разрешить символ символа: класс Расположение источника данных: класс DBConnectionManager DataSource datasource1 = (DataSource) PortableRemoteObject.narrow (obj1, javax.sql.DataSource.class);^ DBConnectionManager.java:66: не удается разрешить символьный символ: класс Расположение источника данных: класс DBConnectionManager DataSource datasource1 = (DataSource) PortableRemoteObject.narrow (obj1, javax.sql.DataSource.class);

4 ошибки

Ответы [ 2 ]

0 голосов
/ 22 февраля 2012

1 Я предполагаю, что ваша первая строка импорта опечатка

Во-вторых, попробуйте изменить это:

DataSource datasource = (DataSource)pools.get(s);

на

DataSource datasource = (DataSource)(pools.get(s));

Я подозреваю, что выприведение пулов к источнику данных, а затем попытка вызвать метод «get», который, вероятно, не существует.Я думаю, что вы хотите сделать, это привести результат метода "get" к источнику данных.

0 голосов
/ 22 февраля 2012

Опубликовать трассировку стека. Это будет более полезным, чем ваш вопрос.

Я не вижу, где пулы объявляются или инициализируются.

Есть ли в вашем CLASSPATH JAR с javax.sql.DataSource? Если нет, он вам понадобится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...