2012-06-21 184 views
0

所以我不太瞭解SQL或VBScript,更不用說將兩者結合在一起。VBScript和SQL Server 2008問題

我試圖連接到運行SQL 2008的SQL Server中的所有我想要做的就是連接我似乎無法做到這一點。我不斷收到各種錯誤,包括:

  • 「數據源名稱找不到和未指定默認驅動程序」
  • 「用戶登錄失敗‘用戶’」
  • 「無效字符」

我已經知道http://www.connectionstrings.com,但我不知道一些事情的含義。什麼是數據源?什麼是初始目錄?

這是我到目前爲止。

Dim result 
Set cn = CreateObject("ADODB.Connection") 
cn.ConnectionString = "Provider=SQLOLEDB.1;Server=MyIP;Database=SQLDatabase;User ID=user;Password=pass" 
cn.Open 
strQry = "select * from Users" 
set result = cn.execute(strQry) 

有人可以幫我做這個的正面和反面嗎?

編輯1:這是我在Server配置管理器是送走;

enter image description here

編輯2:我不使這個明確的道歉。我沒有連接到本地機器。我正在連接到我的網絡上的一臺機器。

回答

3

數據源=要連接到數據庫引擎實例,一個主機名或主機名與命名實例相結合。通常這是localhostlocalhost\SQLEXPRESS,但它也可以是IP地址或完全限定的域名(在網絡內部或外部)。

初始目錄=數據庫,以便連接。與連接字符串中使用的用戶名/密碼關聯的登錄名必須處於特定的服務器角色中,或與數據庫中至少屬於公共角色的用戶關聯。

如果你已經安裝了SQL Server Express版本,您的連接字符串應該是:

cn.ConnectionString = "Provider=SQLNCLI10;" & _ 
    "Data Source=myIP\SQLExpress;" & _ 
    "Initial Catalog=SQLDatabase;" & _ 
    "User ID=user;Password=pass" 

我們不能確切地知道,如果這是正確的連接字符串 - 如果你已經安裝了例如,你可以使用默認的實例或者你的實例命名。 (因爲你說你沒有安裝快車),你可以嘗試其他變化,如果有一些問題myIP

"Data Source=localhost;" & _ 

或者

"Data Source=(local);" & _ 

或者

"Data Source=.;" & _ 

或者

"Data Source=127.0.0.1;" & _ 

要查看實際安裝的內容,可以轉到開始>所有程序> SQL Server 2008>配置工具> SQL Server配置管理器,然後單擊SQL Server服務。在右窗格中,你會看到這樣的事情:

enter image description here

雖然你的實例名可能不匹配我的。如果您看到SQL Server (MSSQLSERVER),這是一個默認實例,並且連接字符串中的數據源爲.(local)(localhost)。如果您看到SQL Server (something other than MSSQLSERVER),那麼它將是.\something other than MSSQLSERVER等。您還可以查看該實例是否正在運行,這可能是另一個問題。如果要連接的實例已停止,則只有右鍵單擊並選擇「開始」後,才能連接到該實例。您可能還想要右鍵單擊實例並選擇「屬性」,以便您可以將服務設置爲自動啓動,因此下次重新啓動時不必重複此過程。如果您希望服務始終運行。

如果您向我們展示您在配置管理器中看到的內容,我們可以幫助您確定所需的確切連接字符串。

編輯

現在,我看到更新的錯誤消息,其中包含:

[DBNETLIB][ConnectionOpen (Connect()).] 

你可以嘗試以下幾種選擇:

(1)確保TCP/IP是啓用。在配置管理器中,在SQL Server網絡配置> MSSQLSERVER協議下,右鍵單擊TCP/IP,然後選擇啓用。您需要重新啓動SQL Server。 (雖然你應該能夠使用共享內存,這是我如何使用始終配置傳統的ASP)。

(2)以下內容添加到您的連接字符串:

cn.ConnectionString = "Provider=SQLNCLI10;" & _ 
    "Data Source=localhost;" & _ 
    "Initial Catalog=SQLDatabase;" & _ 
    "User ID=user;Password=pass;" & _ 
    "Network=DBMSSOCN;" 
+0

我沒有使用SQL Express,我正在使用SQL Server 2008 R2。 – ToastyMallows

+0

@ ToastyMallows不相關。與之相關的是,將SQL Server安裝爲默認實例還是命名實例,以及服務是否正在運行。我只提到Express,因爲它很常見,而且是默認的命名實例(大多數人不希望它被命名)。 –

+0

我添加了一個截圖。我現在使用'Data Source = localhost;' – ToastyMallows