Welcome Guest, Not a member yet? Register   Sign In
Is ODBC broken in 1.6.1?
#1

[eluser]Frank Rocco[/eluser]
Hello,

The code below worked in prior version of CI.
Am I doing something wrong?

Thanks
Frank

config.php
$db['as400']['hostname'] = "xx.xx.xx.xxx";
$db['as400']['username'] = "TEST";
$db['as400']['password'] = "TEST";
$db['as400']['database'] = "AS400";
$db['as400']['dbdriver'] = "odbc";
$db['as400']['dbprefix'] = "";
$db['as400']['active_r'] = FALSE;
$db['as400']['pconnect'] = FALSE;
$db['as400']['db_debug'] = TRUE;

index
$DB2 = $this->load->database('as400', TRUE);
$sql = "SELECT S1090B3E.BSYDTAA.BSYPEMP.EMYLNM FROM BSYDTAA.BSYPEMP ";
$sql .= " FETCH FIRST 20 ROWS ONLY";
$query = $DB2->query($sql);

// fails here
$row = $query->row_array();
// or here
foreach ($query->result() as $row)
{
echo $row->EMYLNM . "<br/>";
}
#2

[eluser]Frank Rocco[/eluser]
This is still not working in 1.6.1

Any ideas?

Frank
#3

[eluser]Frank Rocco[/eluser]
Still no reply's, am I the only one using odbc?

Thanks
Frank
#4

[eluser]MikeeJay[/eluser]
I have the same problem with odbc CI 1.6.1

Error message:

Fatal error: Call to a member function num_rows() on a non-object in C:\Inetpub\wwwroot\dbdoc_ci\system\database\drivers\odbc\odbc_driver.php on line 286

database.php:
Code:
$db['odbc']['hostname'] = "localhost";
$db['odbc']['username'] = "sa";
$db['odbc']['password'] = "";
$db['odbc']['database'] = "dsn_name";
$db['odbc']['dbdriver'] = "odbc";
$db['odbc']['dbprefix'] = "";
$db['odbc']['pconnect'] = TRUE;
$db['odbc']['db_debug'] = TRUE;
$db['odbc']['cache_on'] = FALSE;
$db['odbc']['cachedir'] = "";
$db['odbc']['char_set'] = "utf8";
$db['odbc']['dbcollat'] = "utf8_general_ci";
Any idea?
#5

[eluser]Muser[/eluser]
Same problem. I'm connecting to sql server 2005 using ODBC.
#6

[eluser]MikeeJay[/eluser]
[quote author="Muser" date="1213209732"]Same problem. I'm connecting to sql server 2005 using ODBC.[/quote]

It works for me now

Code:
// MSSQL DSN CONNECT
$db['mssql']['hostname'] = 'DNS=myOdbcDnsName;';
$db['mssql']['username'] = 'username;';
$db['mssql']['password'] = 'password;';
$db['mssql']['database'] = "";
$db['mssql']['dbdriver'] = "odbc";
$db['mssql']['dbprefix'] = "";
$db['mssql']['pconnect'] = FALSE;
$db['mssql']['db_debug'] = TRUE;
$db['mssql']['cache_on'] = FALSE;
$db['mssql']['cachedir'] = "";
$db['mssql']['char_set'] = "latin1";
$db['mssql']['dbcollat'] = "latin1_swedish_ci";

notice the ; after DNS name, username and pasword. It might be the problem for you.
I use SQL Native driver for SQL Express ODBC.

I Hope this solve all problems.




Theme © iAndrew 2016 - Forum software by © MyBB