2009-11-09 81 views
0

我的父親建立了一個MS Access數據庫來做財產管理。現在他想通過互聯網與其他用戶分享。所以我在Network Solutions獲得了一個託管的SQL Server帳戶。現在,我試圖訪問2003客戶端連接到使用從MS這些準則測試SQL數據庫:使用MS Access 2003連接到SQL Server 2005

http://office.microsoft.com/en-us/access/HP052745861033.aspx

但是,該錯誤消息我得到的是因爲一個錯誤初始化提供的失敗「連接。服務器不存在或訪問被拒絕「。

我已經運行MSComponentChecker以確保我有MDAC 2.7或更高版本。我的XP是2.8 SP1。

回答

0

經過多一點研究,我想到了它
在MS Access 2003中,您必須輸入服務器命名格式爲:

服務器名\實例名,端口號

這是一個反斜槓,而不是一個ForwardSlash。謝謝MS。 不知道爲什麼我不得不在默認情況下指定端口號。

特別感謝這個帖子: http://dbaspot.com/forums/sqlserver-server/251219-error-connecting-remote-server.html

應當注意的是,你不能這樣做在Access 2003多的設計工作,一旦你連接。所以我需要升級到2007才能更改SQL模式。希望2003用戶仍然可以連接和使用該應用程序。

+0

這是一個反斜槓,因爲它是WINDOWS,它在路徑中的任何地方都使用baskslashes。抱怨自MS-DOS 1.0第一版以來的一些情況是荒謬的。事實上,Windows程序使用* forward *斜線會是奇怪的。 – 2009-11-11 02:52:01

+1

沒有試圖開始聖戰,但它看起來更像是一個URI(TCPIP主機名/本地路徑)而不是DOS路徑,而其他任何地方(例如MSIE)MS遵循關於URI的RFC並使用正斜槓。 – 2009-11-11 20:24:52

1

這聽起來像之一:

(1)工作站是無法連接到SQL Server實例,因爲 (一)主機名不正確解析或 (B)防火牆在網絡中或者在工作站上阻止所需端口上的出站連接

(2)您可以連接並具有正確的用戶名和密碼,但沒有足夠的權限去你的數據庫試圖使用。如果您的用戶名或密碼不正確(「用戶登錄失敗,xxxx'),Access會給出與您收到的錯誤不同的錯誤。

您可以通過運行」telnet example.com 1433「(無論主機名和如果你沒有給一個端口,使用1433),並確保你可以連接(命令窗口將變成一個空白屏幕),如果有效的話,你可以向你的提供者確認如果你不能telnet到你需要的地址,檢查你是否有正確的主機名和任何防火牆的存在。

+0

感謝您的快速響應。我在VMFusion中運行Windows。我可以在我的Mac主機上telnet到1433年的SQL Server IP地址。出於某種原因,我無法從Windows遠程登錄。我嘗試了另一臺僅支持Windows的PC,但仍然沒有運氣。在這兩種情況下,我嘗試了Windows Telnet和Putty。我甚至禁用了Windows防火牆。有什麼建議麼? – 2009-11-09 23:50:59

+0

在進一步的審查,這篇文章暗示我在Windows Telnet和膩子得到的空白屏幕意味着我可以連接到該端口。 http://stackoverflow.com/questions/435838/sql-server-does-not-exist-or-access-denied-error。 Mac telnet給了我一個詳細的,嘗試...連接序列。 – 2009-11-10 00:08:34

+0

經過一些調整後,我現在得到這個錯誤消息,「[DBNETLIB] [ConnectionOpen(Invalid Instance())。] Invalid Connection」,這意味着我有無效的實例名稱。一些研究表明,MS SQL虛擬服務器的格式爲 \ 。現在,如果網絡解決方案可以告訴我instanceName – 2009-11-10 01:01:39