1. ABAP 中 open sql與 native sql的流程區別是什麼
open
sql
是靜態的,所有的取賣兄雹數必須在編塵磨譯前確認,二native
sql是動中帆態的,只有到runtime時才能知道他們想做什麼,其實原理就是拼SQL
2. 怎麼安裝 SQL Server Native Client
在安裝 sql server 2008 或 SQL Server 工具時,將同時安裝 Microsoft SQL Server Native Client 10.0。如果計算機上還安裝了 SQL Server Native Client 的 SQL Server 2005 版本,則 SQL Server Native Client 10.0 將與早期版本並行安裝。
Microsoft SQL Server Native Client 10.0下載:http://www.cr173.com/soft/16220.html 。
SQL Server Native Client 文件(sqlncli10.dll、sqlnclir10.rll 和 s10ch_sqlncli.chm)將安裝到以下位置:
%SYSTEMROOT%\system32\
注意:
SQL Server Native Client OLE DB 訪問介面和 SQL Server Native Client ODBC 驅動程序的所有相應注冊表設置都將在安裝過程中完成。
SQL Server Native Client 頭文件和庫文件(sqlncli.h 和 sqlncli10.lib)安裝在以下位置:
%PROGRAMFILES%\Microsoft SQL Server\100\SDK
除了作為 SQL Server 安裝過程的一部分安裝 SQL Server Native Client 以外,還可以在 SQL Server 安裝磁碟的以下位置找到名為 sqlncli.msi 的可再分發安裝程序:
%CD%\Setup\
您可以通過 sqlncli.msi 分發 SQL Server Native Client。在您部署某一應用程序時,可能需要安裝 SQL Server Native Client。安裝多個包(對於用戶而言就像是一次安裝)的一種方法就是使用鏈接器和引導程序技術。有關詳細信息,請參閱 Authoring a Custom Bootstrapper Package for Visual Studio 2005(為 Visual Studio 2005 創作自定義引導程序包)和添加自定義系統必備。
sqlncli.msi 的 x64 和 Itanium 版本也會安裝 SQL Server Native Client 的 32 位版。如果您的應用程序所針對的目標平台並非其開發時所使用的平台,則可以從 Microsoft 下載中心下載針對 x64、Itanium 和 x86 的 sqlncli.msi 版本。
在調用 sqlncli.msi 時,默認情況下只會安裝客戶端組件。這些客戶端組件即為那些支持運行使用 SQL Server Native Client 開發的應用程序的文件。若還要安裝 SDK 組件,請在命令行中指定 ADDLOCAL=All。例如:
msiexec /i sqlncli.msi ADDLOCAL=ALL APPGUID={0CC618CE-F36A-415E-84B4-FB1BFF6967E1}
卸載 SQL Server Native Client
--------------------------------------------------------------------------------
因為諸如 SQL Server 伺服器和 SQL Server 工具之類的應用程序依賴於 SQL Server Native Client,所以只有在卸載所有依賴應用程序之後才能卸載 SQL Server Native Client。若要向用戶提供應用程序依賴於 SQL Server Native Client 的警告,請在 MSI 中使用 APPGUID 安裝選項,如下所示:
msiexec /i sqlncli.msi APPGUID={0CC618CE-F36A-415E-84B4-FB1BFF6967E1}
傳遞給 APPGUID 的值是您的特定產品代碼。當使用 Microsoft Installer 捆綁應用程序安裝程序時,必須創建產品代碼。
3. 在ABAP中如何使用native sql連接外部資料庫求解
nt系統,後台資料庫是oracle,訪問外部數據比較容易,需要在sap網站上下載關於資料庫的dll文 件,放到它制定的目錄下,然後就可以做資料庫連接了,然後就可用natvie sql了。 至於linux系統+後台是oracle,訪問外部資料庫現在我還沒有在sap的網站上找到直接訪問外部 sql server的直接方法。 ABAP可以通過OLE來實現對外部SQL的訪問,但是可惜的是,只能前台運行,不能跑後台。不知 道哪位有跑後台的例子。通過DBCO配置DBCON表,然後在ABAP裡面寫native SQL來實現資料庫連接 可以跑後台嗎?在這里看到幾個好帖,是介紹通過配置DBCON表的,但是現狀是UNIX+ORACLE的後 台資料庫,第一步,非要在伺服器段做ORACLE和外部SQL的連接之後,才能配置DBCON,然後再調 用本地SQL嗎?這個問題瞞煩的。能不能直接配一下DBCON,然後調用native SQL就OK了?!
4. SQL 2005配置工具里 SQL native client 新建別名 無法輸入
步驟1.
打開SQL Server Configuration Manager,查看裡面的SQL Native Client 配置,判斷裡面的別名是否配置。
注意:如果遠程連接異地資料庫,可以使用此種方法進行別名配置,連接異地資料庫。
步驟2.
徹底解決SQL SERVER 2005無法遠程連接的問題
一、為 SQL 啟用遠程連接
1. 單擊「開始」,依次指向「程序」、「Microsoft SQL Server 2005」和「配置工具」,然後單擊「SQL Server 外圍應用配置器」。
2. 在「SQL Server 2005 外圍應用配置器」頁上,單擊「服務和連接的外圍應用配置器」。
3. 在「服務和連接的外圍應用配置器」頁上,展開「資料庫引擎」,依次單擊「遠程連接」和「本地連接和遠程連接」,單擊適用於您的環境的相應協議,然後單擊「應用」。
注意:請在接收到以下消息時單擊「確定」:
直到重新啟動資料庫引擎服務後,對連接設置所做的更改才會生效。
4. 在「服務和連接的外圍應用配置器」頁上,展開「資料庫引擎」,依次單擊「服務」和「停止」,等待 MSSQLSERVER 服務停止,然後單擊「啟動」以重新啟動 MSSQLSERVER 服務。
二、啟用 SQL Server Browser 服務
1. 單擊「開始」,依次指向「程序」、「Microsoft SQL Server 2005」和「配置工具」,然後單擊「SQL Server 外圍應用配置器」。
2. 在「SQL Server 2005 外圍應用配置器」頁上,單擊「服務和連接的外圍應用配置器」。
3. 在「服務和連接的外圍應用配置器」頁上,單擊「SQL Server Browser」,在「啟動類型」中單擊「自動」選項,然後單擊「應用」。
注意:在單擊「自動」選項後,每次啟動 Microsoft Windows 時將自動啟動 SQL Server Browser 服務。
4. 單擊「啟動」,然後單擊「確定」。
三、在 Windows 防火牆中為SQL Server 2005 創建例外
1. 在 Windows 防火牆中,單擊「例外」選項卡,然後單擊「添加程序」。
2. 在「添加程序」窗口中,單擊「瀏覽」。
3. 單擊 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe 可執行程序,單擊「打開」,然後單擊「確定」。
注意:上述路徑可能會根據 SQL Server 2005 的安裝位置而不同。
四、在 Windows 防火牆中為 SQL Server Browser 服務創建例外
1. 在 Windows 防火牆中,單擊「例外」選項卡,然後單擊「添加程序」。
2. 在「添加程序」窗口中,單擊「瀏覽」。
3. 單擊 C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe 可執行程序,單擊「打開」,然後單擊「確定」。
注意:上述路徑可能會根據 SQL Server 2005 的安裝位置而不同。
五、遠程連接埠設置(很關鍵的一步,很多方法只講了一到四步,卻沒有講到第五步)
1、在伺服器上打開SQL Server Configuration Manager。選擇SQL Server配置治理器->SQL Server 2005網路配置->MSSQLSERVER的協議->TCP/IP,在彈出對話框中選擇IP地址->IPALL->TCP埠,設置為可用埠。(如果默認的1433埠老是連接不上,你就設置為你確認已經打開的埠試試,如21埠等)
2、在「服務和連接的外圍應用配置器」頁上,展開「資料庫引擎」,依次單擊「服務」和「停止」,等待 MSSQLSERVER 服務停止,然後單擊「啟動」以重新啟動 MSSQLSERVER 服務。
六、測試連接(客戶端和伺服器端均為windows7)
案例1、打開SQL2005登陸界面,輸入伺服器IP和用戶名及密碼。
如:
伺服器名稱:192.168.1.200,21
用戶名:sa
密碼:sa
點連接,結果連接成功。
PS:上面的伺服器名稱中的,21中的21第五步中第1步中設置的IPALL中的TCP埠
案例2.在客戶端打開SQLserver2005 management studio,輸入伺服器名和用戶名及密碼。
伺服器名稱:伺服器IP地址,可用埠號\[伺服器實例名]
如:118.229.***.***,1433\SQLSERVER2005 (如果不寫伺服器實例名,則使用默認實例名,即如果只有一個實例名的話可以不用寫伺服器實例名)
用戶名:sa
密碼:123
點連接,可以連接成功
PS:上面的伺服器名稱中可用埠號是第五步中第1步中設置的IPALL中的TCP埠,如設置1433,21這些已打開埠均可。
步驟3.
SQL Server 2005 遠程連接
配置TCP/IP屬性.
Surface Area Configuration --> Database Engine --> Remote Connections --->Using TCP/IT
SQL Server 外圍應用配置器—服務和連接外圍配置—database englie—遠程連接—啟用(遠程連接的TCP/IP和named pipes)
SQL Server Configuration Manager—SQL2005網路配置—啟用TCP/IP和named pipes
-----------------------------------------------------------------------------------------
一般按如上即可.
其他說明見下:
sqlserver2005(Express版),為了便於管理,你還需要去下一個manage管理器,微軟的官方網站有
下,安裝好manage管理器後,在程序中連接sqlserver2005,下面幾點是要注意的。
1. 開啟sql2005遠程連接功能,開啟辦法如下,
配置工具->sql
server外圍應用配置器->服務和連接的外圍應用配置器->打開MSSQLSERVER節點下的Database Engine
節點,先擇"遠程連接",接下建議選擇"同時使用TCP/IP和named pipes",確定後,重啟資料庫服務就可以了.
2.登陸設置改為,Sql server and windows Authentication方式同時選中,具體設置如下:
manage管理器->windows
Authentication(第一次用windows方式進去),->對象資源管理器中選擇你的數據伺服器--右鍵>屬
性>security>Sql server and windows Authentication方式同時選中.
3:設置一個Sql server方式的用戶名和密碼,具體設置如下:
manage管理器->windows Authentication>new query>sp_password null,'sa123456','sa'
這樣就設置了一個用戶名為sa ,密碼為:sa123456的用戶,下次在登陸時,可以用Sql server方式,
用戶名為sa ,密碼為:sa123456的用戶進資料庫了.
4: 做完上面三步後,這樣寫連接字元串就可以順利進入資料庫了,
(server=.\\sqlexpress;uid=sa;pwd=sa123456;database=master";
其它版本,做如下設置
程序—Microsoft SQL Server 2005—配置工具—SQL Server 外圍應用配置器—服務和連接的外圍應用配置器—
1、MSSQLserver(實例名)—DataBase Engine—遠程連接—(設置選項)
在下方選項
2、SQL Server Browser—服務(停止時只本機訪問)
3、程序—Microsoft SQL Server 2005—配置工具—SQL Server Configuration Manager—網路連接協議-選擇實例對應協議—啟用(shard memory、Named Pipes、TCP\IP)
注: SQL Server 瀏覽器程序以服務的形式在伺服器上運行。SQL Server 瀏覽器偵聽對 Microsoft SQL Server 資源的傳入請求,
並提供計算機上安裝的 SQL Server 實例的相關信息。
SQL Server 瀏覽器可用於執行下列三種操作:
瀏覽可用伺服器
連接到正確的伺服器實例
連接到專用管理員連接 (DAC) 端點
SQL Server Browser 服務 (sqlbrowser) 為資料庫引擎 和 SSAS 的每個實例提供實例名稱和版本號。
SQL Server 瀏覽器隨 Microsoft SQL Server 2005 一起安裝,
為該計算機上運行的早期版本的 SQL Server(從 Microsoft SQL Server 7.0 開始)提供此服務。
-----------------------------------------------------------------------------------------------------
步驟4.
打開sql server 2000的1433埠和進行遠程連接設置.
SQL code遠程連接sql server 2000伺服器的解決方案
一 看ping 伺服器IP能否ping通。
這個實際上是看和遠程sql server 2000伺服器的物理連接是否存在。如果不行,請檢查網路,查看配置,當然得確保遠程
sql server 2000伺服器的IP拼寫正確。
二 在Dos或命令行下輸入telnet 伺服器IP 埠,看能否連通。
如telnet 202.114.100.100 1433
通常埠值是1433,因為1433是sql server 2000的對於Tcp/IP的默認偵聽埠。如果有問題,通常這一步會出問題。通常的提示
是「……無法打開連接,連接失敗"。
如果這一步有問題,應該檢查以下選項。
1 檢查遠程伺服器是否啟動了sql server 2000服務。如果沒有,則啟動。
2 檢查伺服器端有沒啟用Tcp/IP協議,因為遠程連接(通過網際網路)需要靠這個協議。檢查方法是,在伺服器上打開 開始菜單->
程序-> Microsoft SQL Server-> 伺服器網路實用工具,看啟用的協議里是否有tcp/ip協議,如果沒有,則啟用它。
3 檢查伺服器的tcp/ip埠是否配置為1433埠。仍然在伺服器網路實用工具里查看啟用協議裡面的tcp/ip的屬性,確保默認
埠為1433,並且隱藏伺服器復選框沒有勾上。
事實上,如果默認埠被修改,也是可以的,但是在客戶端做telnet測試時,寫伺服器埠號時必須與伺服器配置的埠號
保持一致。如果隱藏伺服器復選框被勾選,則意味著客戶端無法通過枚舉伺服器來看到這台伺服器,起到了保護的作用,但不
影響連接,但是Tcp/ip協議的默認埠將被隱式修改為2433,在客戶端連接時必須作相應的改變。
4 如果伺服器端操作系統打過sp2補丁,則要對windows防火牆作一定的配置,要對它開放1433埠,通常在測試時可以直接關掉
windows防火牆(其他的防火牆也關掉最好)。
5 檢查伺服器是否在1433埠偵聽。如果伺服器沒有在tcp連接的1433埠偵聽,則是連接不上的。檢查方法是在伺服器的dos或命令行下面輸入
netstat -a -n 或者是netstat -an,在結果列表裡看是否有類似 tcp 127.0.0.1 1433 listening 的項。如果沒有,則通常需要給
sql server 2000打上至少sp3的補丁。其實在伺服器端啟動查詢分析器,輸入 select @@version 執行後可以看到版本號,版本號
在8.0.2039以下的都需要打補丁。
如果以上都沒問題,這時你再做telnet 伺服器ip 1433 測試,將會看到屏幕一閃之後游標在左上角不停閃動。恭喜你,
你馬上可以開始在企業管理器或查詢分析器連接了。
三 檢查客戶端設置
程序-> Microsoft SQL Server -> 客戶端網路使用工具。像在伺服器網路實用工具里一樣,確保客戶端tcp/ip協議啟用,並且
默認埠為1433(或其他埠,與伺服器端保持一致就行)。
四 在企業管理器里或查詢那分析器連接測試
企業管理器-> 右鍵SQlserver組-> 新建sqlserver注冊-> 下一步-> 寫入遠程IP-> 下一步-> 選Sqlserver登陸-> 下一步-> 寫入
登陸名與密碼(sa,password)-> 下一步-> 下一步-> 完成
查詢分析器-> 文件-> 連接-> 寫入遠程IP-> 寫入登錄名和密碼(sa,password)-> 確定
通常建議在查詢分析器里做,因為默認情況下,通過企業管理器注冊另外一台SQL Server的超時設置是4秒,而查詢分析器是
15秒。
修改默認連接超時的方法:
企業管理器-> 工具-> 選項-> 在彈出的"SQL Server企業管理器屬性"窗口中,點擊"高級"選項卡-> 連接設置-> 在 登錄超時
(秒) 後面的框里輸入一個較大的數字
查詢分析器-> 工具-> 選項-> 連接-> 在 登錄超時(秒) 後面的框里輸入一個較大的數字
通常就可以連通了,如果提示錯誤,則進入下一步。
五 錯誤產生的原因通常是由於SQL Server使用了"僅 Windows"的身份驗證方式,因此用戶無法使用SQL Server的登錄帳戶
(如 sa )進行連接。解決方法如下所示:
1 在伺服器端使用企業管理器,並且選擇"使用 Windows 身份驗證"連接上 SQL Server。
2 展開"SQL Server組",滑鼠右鍵點擊SQL Server伺服器的名稱,選擇"屬性",再選擇"安全性"選項卡。
3 在"身份驗證"下,選擇"SQL Server和 Windows "。
4 重新啟動SQL Server服務。(在dos或命令行下面net stop mssqlserver停止服務,net start mssqlserver啟動服務,也是一種快捷的方法)。
步驟5.
SQL Server 2005 不允許遠程連接解決方法
做課程設計時,很多學生都遇到這個問題。把解決方法寫在這兒,供參考。
剛剛安裝的資料庫系統,按照默認安裝的話,很可能在進行遠程連接時報錯,通常是錯誤:"在連接到 SQL Server 2005 時,在默認的設置下 SQL Server 不允許進行遠程連接可能會導致此失敗。 (provider: 命名管道提供程序, error: 40 - 無法打開到 SQL Server 的連接) "搜MSDN,上面有一片機器翻譯的文章,是在讓人難以明白,現在總結如下:明白了SQL Server是個網路資料庫就可迎刃而解了,簡單的分為下面的集中情況。
1. 資料庫引擎沒有啟動。
有兩種啟動方式:
(1)開始->程序->Microsoft SQL Server 2005->SQL Server 2005外圍應用配置器,在打開的界面單擊"服務的連接的外圍應用配置器",在打開的界面中找到Database Engine,單擊"服務",在右側查看是否已啟動,如果沒有啟動可單擊"啟動",並確保"啟動類型"為自動,不要為手動,否則下次開機時又要手動啟動;
(2)可打開:開始->程序->Microsoft SQL Server 2005->配置工具->SQL Server Configuration Manager,選中SQL Server 2005服務中SQL Server(MSSQLSERVER) ,並單擊工具欄中的"啟動服務"按鈕把服務狀態改為啟動;
使用上面兩種方式時,有時候在啟動的時候可能會出現錯誤,不能啟動,這時就要查看"SQL Server 2005配置管理器"中的SQL Server 2005網路配置->MSSQLSERVER協議中的VIA是否已啟用,如果已啟用,則把它禁止.然後再執行上述一種方式操作就可以了.
2. 是否已經允許遠程連接。
這個部分可以簡單的分為4個方面,分別是在 SQL Server上啟用遠程連接、啟用SQL Server 瀏覽服務、在Windows 防火牆中為SQL Server 2005 創建例外和在Windows 防火牆中為「SQLBrowser」創建例外。下面是幾個具體的操作方式,摘自MSDN,個人覺得文章的黑體部分應當特別的一起我們的注意。
在SQLServer 實例上啟用遠程連接
1.指向「開始->程序->Microsoft SQL Server 2005->配置工具->SQL Server 外圍應用配置器」
2.在「SQL Server 2005 外圍應用配置器」頁, 單擊「服務和連接的外圍應用配置器」
3.然後單擊展開「資料庫引擎」, 選中「遠程連接」,在右邊選中「本地連接和遠程連接」,
再選擇要使用的協議,( 這個地方應當啟用TCP/IP 和命名管道服務!)單擊「應用」,您會看到下消息:
「直到重新啟動資料庫引擎服務後,對連接設置所做的更改才會生效。」,單擊「確定」按鈕返回
4.展開「資料庫引擎」, 選中「服務」,在右邊單擊「停止」,等到 MSSQLSERVER 服務停止,
然後單擊「啟動」,重新啟動MSSQLSERVER 服務。
啟用 SQLServer 瀏覽器服務
1.指向「開始->程序->Microsoft SQL Server 2005->配置工具->SQL Server 外圍應用配置器」
2.在「SQL Server 2005 外圍應用配置器」頁, 單擊「服務和連接的外圍應用配置器」
3.然後單擊展開「SQL Server Browser」, 選中「服務」,在右邊「啟動類型」選擇「自動」,
再單擊「啟動」,單擊「確定」按鈕返回
在Windows 防火牆中為「SQL Server 2005」創建例外
1.在 Windows 防火牆設置界面中,選擇「 例外」 選項卡,然後單擊「添加程序」
2.在「添加程序窗口」中單擊「瀏覽」
3.然後找到「C:\ProgramFiles\Microsoft Files\Microsoft SQL Server\ MSSQL.1 \MSSQL\Binn\sqlservr.exe」,
單擊「確定」返回
注意 : 路徑可能會根據 SQL Server 2005 安裝不同而不同。 MSSQL.1 是佔位符,對應資料庫實例ID。
4.對每個需要打開遠程訪問的SQL Server 2005 實例,重復步驟 1 至 3。
在Windows 防火牆中為「SQLBrowser」創建例外
1.在 Windows 防火牆設置界面中,選擇「 例外」 選項卡,然後單擊「添加程序」
2.在「添加程序窗口」中單擊「瀏覽」
3.然後找到「C:\ProgramFiles\Microsoft Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe」,
單擊「確定」返回
注意 : 路徑可能會根據 SQL Server 2005 安裝不同而不同。