2010-11-16 120 views
0

我在一個XP盒子上開發了一個PowerShell應用程序,該盒子與Sybase服務器進行OLEDB連接以提取數據,然後插入到SQL Server 2008數據庫實例中。調試完此腳本並確保過程正確運行後,我將腳本移至新的Windows Server 2008 R2框。爲了連接到Sybase實例,我安裝了Sybase 12.5.2客戶端,就像我在XP上完成的一樣。但是,運行腳本失敗並顯示以下消息: 使用「0」參數調用「open」異常:「'Sybase.ASEOLEDBProvider.2'提供程序未在本地計算機上註冊Windows服務器2008 R2上的powershell 2.0無法連接到OLEDB連接

基本連接字符串是從connectionStrings.com派生,並在XP上工作,所以我不相信有一個語法問題本身。所以,我手動註冊OLEDB DLL的命令: regsvr32 sydaase.dll

它註冊了no錯誤

剪掉腳本的相關行,連接邏輯序列爲 $ dbConn = new-object System。 Data.oldeb.oledbConnection $ dbConn.connectionString =「Provider = Sybase.ASEOLEDBProvider.2;服務器名稱= myServer;端口地址= xxx;初始目錄= xxx;用戶ID = xxx;密碼= XXXX」

我已經取代我的數據與此示例中的XXX。

我不明白爲什麼這個運行沒有在XP箱問題,但未能就好像我在Windows服務器框中做

+0

好嗎?64bit的問題是不是?如果是這樣,請標記正確的答案beloew。) – x0n 2010-11-24 22:07:56

回答

2

我會保證你在64位R2機器上使用64位的PowerShell控制檯,沒有原生的64位OLEDB驅動,只有32位 - 使用32位bit console and you should be。

+0

+同意...... I就在幾周前,ole和tab分隔的文本也有相同的問題 – 2010-11-19 05:28:05

相關問題