2012-02-03 55 views
1

我有一個運行在Windows服務器上的網站,它工作得很好。我試圖做一個拷貝在我的本地主機,但我得到的錯誤:我該如何糾正這個錯誤:未找到數據源名稱並且沒有指定默認驅動程序

Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified, SQL state IM002 in SQLConnect in C:\xampp\htdocs\tdms\webfolders\secured\db_fns.php on line 29 
Could not connect to database server 

行29載:

function fgsdb_connect() 
{ 

    $a=array(); 
    $retvar=0; 

    $result = odbc_connect('FGS','tdms','tdms358',SQL_CUR_USE_ODBC); //---->line 29 

    if (!$result) // cannot establish connection to database 

    throw new Exception('Could not connect to database server'); 

    else // connection to database has been established 

    return $result; 

} 

我真正的新ODBC。該網站是用php和我在mySQL中使用的數據庫編寫的。儘管我認爲它試圖連接的數據庫是微軟訪問MDE文件。 (我在Windows服務器中檢查了該網站。)我應該怎麼做?對不起,但我真的

+0

權限...? – 2012-02-03 01:40:24

+0

你是什麼意思?對不起。我真的是一個新手。 :( – prukuhkoo 2012-02-03 01:44:14

+0

權限:即頁面運行的標識是否作爲hace訪問數據庫? – 2012-02-03 01:47:14

回答

2

這可能是設置ODBC數據源的快捷方式指向32位數據源而不是64位。

轉到控制面板 - >管理工具 - >選擇數據源(ODBC) - >然後右鍵單擊該文件 - >轉到屬性 - >在快捷方式選項卡 - >更改路徑從

%windir%\System32\odbcad32.exe 

%windir%\SysWOW64\odbcad32.exe 

,讓您的網絡連接。 MS Access的驅動程序現在可以正常工作。

如果不工作,嘗試用這樣的句子連接到ODBC:

$conn = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\YourFolder\YourFile.mdb",'Youruser', 'YourPassword'); 

最後2離開的話,只是在「」如果你沒有任何用戶名或密碼

0

在嘗試連接到Access .mdb時,我在PHP 7.0.8 64位上遇到同樣的錯誤。

我必須做兩件事情:

  1. 安裝「Microsoft Access數據庫引擎2010可再發行」的64位版本(甚至與Access 2016安裝,我讓你的錯誤)。您可以下載驅動程序:

    https://www.microsoft.com/en-us/download/details.aspx?id=13255

    然後,如果你去到ODBC數據源管理器,你應該注意到64位版本。

  2. 更改驅動程序字符串:

    Driver={Microsoft Access Driver (*.mdb, *.accdb)}

希望它可以幫助其他人。

相關問題