לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #5  
ישן 13-07-2009, 17:55
  oc666 oc666 אינו מחובר  
 
חבר מתאריך: 26.01.04
הודעות: 613
שלח הודעה דרך ICQ אל oc666
בתגובה להודעה מספר 4 שנכתבה על ידי dorM שמתחילה ב "והפורט..? או שלא צריך?..."

ציטוט:
במקור נכתב על ידי dorM
והפורט..? או שלא צריך?

עריכה:

בעצם זה הברירת מחדל.

כתוב כאן שצריך קידומת של mssql ולא dblib...

אבל פה כתוב כי יש להשתמש בקידומת dblib תחת מכונה של לינוקס.
ב-phpinfo ישנה תמיכה רק ב-pdo_dblib ובלינוקס קמפלתי גם תמיכה ב-pdo וגם ב-mssql (אין תמיכה מפורשת ב-pdo_mssql. הדגלים עבור php:
קוד PHP:
 # emerge -ptv php

These are the packages that would be mergedin reverse order:

Calculating dependencies... done!
[
ebuild   R   dev-lang/php-5.2.10  USE="apache2 berkdb bzip2 cli crypt curl ftp gd gdbm
 iconv imap ipv6 json ldap mssql mysql mysqli ncurses nls odbc pcre pdo readline 
reflection session simplexml spl sqlite ssl truetype unicode xml xsl yaz zip zlib 
(-adabas) -bcmath (-birdstep) -calendar -cdb -cgi -cjk -concurrentmodphp -ctype 
-curlwrappers -db2 -dbase (-dbmaker) -debug -discard-path -doc (-empress)
 (-empress-bcs) (-esoob) -exif -fastbuild (-fdftk) -filter (-firebird) -flatfile -force-cgi-redirect 
(-frontbase) -gd-external -gmp -hash -inifile -interbase -iodbc (-java-external) -kerberos 
-kolab -ldap-sasl -libedit -mcve -mhash -msql -oci8 -oci8-instant-client -pcntl -pic -posix
 -postgres -qdbm -recode -sapdb -sharedext -sharedmem -snmp -soap -sockets (-solid) 
-spell -suhosin (-sybase) (-sybase-ct) -sysvipc -threads -tidy -tokenizer -wddx 
-xmlreader -xmlrpc -xmlwriter -xpm" 
0 kB 
_____________________________________
הבלוג החדש שלי
ג'ומלה ישראל


נערך לאחרונה ע"י oc666 בתאריך 13-07-2009 בשעה 18:00.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #6  
ישן 14-07-2009, 03:12
  oc666 oc666 אינו מחובר  
 
חבר מתאריך: 26.01.04
הודעות: 613
שלח הודעה דרך ICQ אל oc666
קצת התקדמות
בתגובה להודעה מספר 5 שנכתבה על ידי oc666 שמתחילה ב "[QUOTE=dorM]והפורט..? או שלא..."

ניסיתי להתחבר לאותו שרת SQL באותו אופן על שרת ווינדוס אחר. משרת זה נכנסתי לשרת ה-SQL בעזרת ה-console היעודי של ה-mssql ככה שלא נראה לי שזו בעית הרשאות.
אותו קוד שניסיתי להפעיל על הלינוקס לא עבד:
קוד PHP:
<?php
  
try {
    
$hostname "myserver";
    
$dbname "mydb";
    
$username "myuser";
    
$pw "mypassword";

    
$dbh = new PDO ("mssql:host=$hostname;dbname=$dbname","$username","$pw");
  } catch (
PDOException $e) {
    echo 
"Failed to get DB handle: " $e->getMessage() . "\n";
    exit;
  }

הפלט שקיבלתי:
קוד PHP:
 Failed to get DB handleSQLSTATE[01002Unable to connectSQL Server is 
unavailable 
or does not exist. (severity 9

לאחר מכן ניסיתי את הדרייבר הישיר של mssql בעזרת הקוד הבא:
קוד PHP:
<?php

$myServer 
"myserver";
$myUser "myuser";
$myPass "mypassword";
$myDB "mydb";


//connection to the database
$dbhandle mssql_connect($myServer$myUser$myPass)
  or die(
"Couldn't connect to SQL Server on $myServer");

//select a database to work with
$selected mssql_select_db($myDB$dbhandle)
  or die(
"Couldn't open database $myDB");

//declare the SQL statement that will query the database
$query "SELECT id, name ";
$query .= "FROM sometable ";
$query .= "WHERE id=1";

//execute the SQL query and return records
$result mssql_query($query);

$numRows mssql_num_rows($result);
echo 
"<h1>" $numRows " Row" . ($numRows == "" "s") . " Returned </h1>";

//display the results
while($row mssql_fetch_array($result))
{
    echo 
"<li>" $row["id"] . $row["name"]  . "</li>";
}
//close the connection
mssql_close($dbhandle);

[/
PHP
גם הקוד הזה לא עבד
להלן הפלט:
 [
PHP]
Warning:  mssql_connect() [function.mssql-connect]: Unable to connect to server

לא הבנתי למה הוא לא מצליח להתחבר אז ניסיתי את הקוד האחרון על הלינוקס ודווקא בלינוקס הקוד האחרון עבד(!) והיה לי פלט מהטבלה שבקוד (גם ללא בעיית קידוד).
אין לי מושג למה האחרון עבד על הלינוקס ולא על הווינדוס. שני המכונות אינן קשורות לדומיינים כך שאני לא רואה בעיית הרשאות, מה גם שבד"כ למכונות ווינדוס יותר קל "לדבר" עם מכונות ווינדוס אחרות מאשר לינוקס.
לאחר בדיקה של הדרייברים (בעזרת phpinfo) ראיתי כי בווינדוס השימוש היא בספריה 7.0 (אני מניח שזו גירסת ה-mssql שמותקנת על המכונה) ואילו בלינוקס הוא עושה שימוש ב-freetds. יש לשים לב שהדרייבר של pdo_dblib עושה שימוש ב-freedts מה שאומר שתאורטית הדרייבר אמור לעבוד תחת הלינוקס (מה שמעשית לא קורה).
אני עדיין צריך לעבוד עם ה-PDO ולא עם הדרייבר הישיר של ה-mssql, כי לבסוף אני עובד עם zend framework שעושה שימוש ב-pdo.

תודה לעוזרים.
_____________________________________
הבלוג החדש שלי
ג'ומלה ישראל


נערך לאחרונה ע"י oc666 בתאריך 14-07-2009 בשעה 03:21.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #12  
ישן 28-07-2009, 00:22
  oc666 oc666 אינו מחובר  
 
חבר מתאריך: 26.01.04
הודעות: 613
שלח הודעה דרך ICQ אל oc666
בתגובה להודעה מספר 11 שנכתבה על ידי dorM שמתחילה ב "אני מניח שאף אחד לא יודע, לכן..."

תודה על התגובה.
אמנם כתבתי php 5.3 אבל טעיתי, מדובר ב-php-5.2.9.
הבנתי בערך את הבעיות...
בקשר ללינוקס - הוא מצליח להתחבר מפונקציות ה-mssql, ולא מה-pdo בגלל הבאג הבא:
http://bugs.php.net/bug.php?id=48539
לפי מה שמצוין הבאג תוקן ב-php 5.3 הבעיה שבג'נטו החבילה עדיין לא עודכנה, אז אחכה עם זאת.

בקשר לווינדוס, האפאצ'י חוסם חיבורים לשרתים חיצוניים (צריך להפעיל את ה-php כ-fastcgi כדי לאפשר חיבורים חיצוניים). אז כשניסיתי להריץ את קוד ה-php משורת הפקודה בשרת, הצלחתי להוציא נתונים שאינם unicode כי דרייבר ה-pdo הוא די ישן ולא מתוחזק (מתוך http://php.chinaunix.net/manual/zh/ref.pdo-dblib.php):
קוד PHP:
 On Windowsyou should use the PDO_ODBC      driver to connect to Microsoft
 SQL Server 
and Sybase databases, as the      native Windows DB-LIB is ancientthread 
un
-safe and no longer supported      by Microsoft


בשורה התחתונה, לא ניתן להשתמש ב-pdo עם mssql. אולי בהמשך...
_____________________________________
הבלוג החדש שלי
ג'ומלה ישראל

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 16:04

הדף נוצר ב 0.07 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר