Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjours,
Je voudrais communiquer avec une base de données Sybase mais je me suis fait stopper par un problème.
lorsque je fais une requête à la base j'ai le message d'erreur:
SQLSTATE[HY000]: General error: 10007 Object does not exist in this database. [10007] (severity 5) [(null)]
dans mon code, cette erreur apparait lors ce que je fais le fetchall()
je pense que le problème vient de ma connexion, bien qu'il n'y ai pas de message d'erreur qui s'affiche, mais étant un débutant avec ces outils je ne vois pas comment chercher la source du problème..
donc voila mon code:
dans mon application.ini:
resources.db.adapter = Pdo_Mssql resources.db.params.pdotype = sybase resources.db.params.host = DEVO resources.db.params.username = sa resources.db.params.password = dev resources.db.params.dbname = qual resources.db.params.port = 5002
dans mon bootstrap:
protected function _initDb() { $config = new Zend_Config($this->getOptions()); try{ $db = Zend_Db::factory($config->resources->db); $db->getConnection(); }catch ( Exception $e ) { exit( $e -> getMessage() ); } Zend_Registry::set( 'db', $db ); Zend_Db_Table::setDefaultAdapter($db); return $db; }
dans le controleur:
public function indexAction() { try{ $logins = new Application_Model_DbTable_Acces(); $logins->fetchAll(); }catch (Exception $e){ exit( $e -> getMessage() ); } }
et ma classe acces:
class Application_Model_DbTable_Acces extends Zend_Db_Table_Abstract { protected $_name = 'DROIT_ACCES'; }
Hors ligne
Bonjour,
Votre table 'DROIT_ACCES' existe-t-elle bien dans la base ? N'y a-t-il pas d'erreur dans le nom ? Peut-être Sybase est-il sensible à la casse ? L'utilisateur "sa" est-il autorisé à accéder à cette base et/ou à cette table ?
Hors ligne
Bonjour,
oui la table existe bien et est écrit avec la même casse (j'ai d'ailleurs essayer avec d'autres tables de la même base pour pour être sûr)
de même l'utilisateur 'sa' à bien tous les droits j'ai vérifié en m'y connectant avec un script en php brut (avec l'accès à cette même table)
Hors ligne
Bon après plusieurs tests je précise mon problème:
dans le controleur quand je fais:
$registry = Zend_Registry::getInstance(); $db = $registry->get('db'); $db->fetchAll("select * from DROIT_ACCES");
ça ne fait aucune erreur je récupère bien tout ce que je veux donc le problème ne vient pas de ma connexion avec ma bdd
mais si j'essaie:
$registry = Zend_Registry::getInstance(); $db = $registry->get('db'); $db->describeTable('DROIT_ACCES');
il me sort la fameuse erreur
Hors ligne
Pages: 1