當前位置:首頁 » 數據倉庫 » wincc資料庫sql訪問
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

wincc資料庫sql訪問

發布時間: 2022-05-21 13:24:31

Ⅰ 如何訪問wincc sqlserver資料庫

用WINCC的C腳本訪問他的SQL資料庫並不合適!因為本來vc++ 和VB對比,vb訪問資料庫比VC要方便,容易掌握,快捷
最好的方法:採用VB編寫SQL訪問數據,外掛於WINCC。
訪問WINCC SQL,用常規的方法是訪問不到的,因為SQL FOR WINCC有獨特的訪問方式。

Ⅱ 第三方軟體訪問Wincc V7.0 SQL2005的方法有哪些

wincc
SQL資料庫是壓縮過的,因此不能直接查看數據內容,西門子提供了一個wincc組件叫做connectivity用於高級語言編程讀取wincc
SQL資料庫。
另外,通過VB也可以實現簡單的讀取Wincc
SQL的歷史數據,具體方法見《深入淺出wincc
V6》一書,這種方法僅適用於數據量較小的情況。
VB對於遠程多台伺服器的Wincc訪問都是可以實現的。

Ⅲ 如何用SQL語言從wincc資料庫獲取數據,實時獲取與獲取保存的數據有什麼區別

步驟1:在SQLSERVER中設一個遠程登陸的賬號sa, 密碼也設置xxx(自己定)
(SQL配置管理器中,把通信協議TCP/IP相關的服務都啟用
在SQL中,安全性---登陸賬號---SA的屬性---狀態—啟用授權登陸和允許訪問SQLSERVER引擎 )

以上設備和配置保證模仿遠程用戶來我這個計算機SQLSEVER伺服器訪問資料庫.

二 載入系統的類包/名字空間
using System.Data;
using System.Data.SqlClient;
三 建立連接對象sqlconnection 專門負責與資料庫伺服器連接

四 定義一個sqldatareader對象,專門從資料庫指定表中讀出數據
五 定義一個SQL查詢命令對象 sqlcommand ,讓它負責從資料庫去操作讀,並把讀到結果數據交給sqldatareader對象
protected void Button1_Click(object sender, EventArgs e)
{
String mys = "xxxx;database= xxxx; User ID=xxx;pwd=xxxx;Trusted_Connection=no"; //連接串
SqlConnection myc = new SqlConnection(mys); //定義一個連接對象myc,負責去連接mys串定義的伺服器和資料庫
myc.Open();
Response.Write("連接成功");
//准備讀出數據
SqlDataReader myread;
string sql="查詢語句";
SqlCommand mycom = new SqlCommand(sql , myc);
//定義mycom,在myc這個數據連接中去執行指定的select查詢命令
myread = mycom.ExecuteReader(); //把mycom的執行查詢的結果數據交給myread

while (myread.Read()) //遍歷表中的所有行,read( )一次,可讀一行,往下跳
{
//從查詢結果中取一行出來
for (int i = 0; i <myread.FieldCount ; i++)
Response.Write(myread[i].ToString());
Response.Write("<br>");
}

myc.Close();

}

Ⅳ 怎麼從wincc中寫數據到SQL

首先在SQL建立資料庫表格及相應的欄位。在要寫數據的地方編寫腳本,VB,VC腳本都可以。一般採用ADO連接比較方便些。腳本的編寫方法和VB基本相同。只是要事先聲明變數與WINCC的控制項數據或WINCC的變數連接並讀取控制項或變數的數據。不需要任何輔助軟體。

Ⅳ 用WINCC的C腳本如何訪問遠程SQL伺服器上的資料庫

WINCC中使用VB腳本是可以連接資料庫的,我已經試過了,而且用的就是普通SQL語句,比如insertinto,updata,select.使用的ODBC連接的.但是在做讀取資料庫中的歸檔時是不能用直接用上面的語句的.WINCC它有自己的方式.

Ⅵ 如何用WINCC訪問本地SQL2000

你沒有必要按一下打開,再按一下關閉吧,只需要按一下打開,進行資料庫操作,操作完畢就關閉連接,你一直打開連接別的動作也無法使用這個連接的
按鈕按下的vbs動作:
Dim strcn,conn
strcn = "Provider=SQLOLEDB.1;"&_
"Integrated Security=SSPI;"&_
"Persist Security Info=False;"&_
"Initial Catalog=yourname;"&_ 『yourname是你資料庫的名稱
"Data Source="& HMIRuntime.tags("@LocalMachineName").read &"\wincc"
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = strcn
'資料庫連接
conn.Open
'數據操作寫在這里
conn.close '連接關閉
Set conn = Nothing '釋放內存

Ⅶ 如何讓wincc遠程訪問sql2000

wincc 裡面用VBS連接資料庫,和用VB是一樣的,網上有很多例子
我是這樣做的
'資料庫連接
Dim strcn,conn
strcn = "Provider=SQLOLEDB.1;"&_
"Integrated Security=SSPI;"&_
"Persist Security Info=False;"&_
"Initial Catalog=record;"&_ 'record是你的資料庫名稱
"Data Source=" & addr ' addr是遠程資料庫的地址,如192.168.1.100等等
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = strcn
conn.Open

Ⅷ wincc與SQL資料庫交換數據

黑客SQL伺服器入侵實戰演習(二)

3.1為什麼使用的是' or 1=1--呢?

讓我們來看看其他例子中使用'or 1=1--的重要性吧。有別於正常的登陸方式,使用這樣的登陸方式可能得到正常登陸中不能得到的某些特殊信息。用一個鏈接中得到的ASP頁來打比方:

http://ck/index.asp?category=food

在上面這條URL中,'category'是一個變數名,而'food'是賦予該變數的值。為了做到這些(鏈接成功),

這個ASP必須包含以下相關的代碼(下面也是我們為了演示這個實驗所寫的代碼):

v_cat = request("category)

& v_cat & "'

set rs=conn.execute(sqlstr)

正如我們所看到的,變數值將會預先處理然後賦值於'v_cat',也就是說該SQL語句將會變為:

SELECT * FROM proct WHERE PCategory='food'

這個請求將會返回通過WHERE條件比較後得到的結果,在這個例子中也就是'food'了。現在設想一下如果

我們把該URL改成這樣的話:

http://ck/index.asp?category=food' or 1=1--

現在我們的變數v_cat的值就等同於"food' or 1=1--了,現在如果我們要重新代入那條SQL請求的話,

那條SQL請求將會是:

SELECT * FROM proct WHERE PCategory='food' or 1=1--'

現在這個請求將會從proct表中選取每一條信息而並不會去理會PCategory是否等於'food'。至於結尾部分的那兩條'--'(破折號)則用於『告訴』MS SQL SERVER忽略結尾最後的那個'(單引號)。有的時候也可以使用'#'(井號)來代替'--'(雙破折號)在這里的用法。

無論如何,如果對方不是一台SQL伺服器(這里指的是MS SQL SERVER),或者你不能使用簡單的方法去忽略最後的那個單引號的話,你可以嘗試:

' or 'a'='a

這樣的話整個SQL請求將會變為:

SELECT * FROM proct WHERE PCategory='food' or 'a'='a'

它也會返回相同的結果。

根據實際情況,SQL注入請求是可以有多種動態變化的可能性的:

' or 1=1--

"a

') or ('a'='a
4.0如何在SQL注入請求中加入即時執行命令?

能夠進行SQL注入的伺服器通常都是一些疏於做系統性配置檢查的機器,此時我們可以嘗試使用SQL的命令執行請求。默認的MS SQL伺服器是運行在SYSTEM用戶級別下的,這等同於系統管理員的執行與訪問許可權。我們可以使用MS SQL SERVER的擴展儲存過程(如master..xp_cmdshell等)來執行遠程系統的某些命令:

'; exec master..xp_cmdshell 'ping 10.10.1.2'--

若失敗可以嘗試一下使用(雙引號)代替'(單引號)。

上面例子中的第二個冒號代表一句SQL請求的結束(也代表了它後面緊跟著一條新SQL命令)。若要檢驗上面這條PING命令是否成功,你可以在10.10.1.2這台機器上監聽ICMP請求包,並確認它是否來自那台SQL伺服器就可以了:

#tcpmp icmp

如果你不能從那台SQL伺服器中得到PING請求的話,並在SQL請求的返回值中得到錯誤信息的話,有可能是因為該SQL伺服器的管理員限制了WEB用戶訪問這些儲存過程了。

5.0如何可以獲取到我發的SQL請求的相關返回信息呢?

我們可以使用sp_makewebtask處理過程的相關請求寫入URL:

"SELECT * FROM INFORMATION

_SCHEMA.TABLES

但先決條件是目標主機的文件夾「share」屬性必須設置為「Everyone」。

Ⅸ wincc如何訪問讀取SQL資料庫的數據

使用ADO編程,在深入淺出西門子Wincc6一書中已經有詳細代碼。

Ⅹ WINCC如何訪問本地SQL2000

1. WinCC V6.x的後台資料庫SQL Server 2000中,使用相應的表來存放運行數據(歷史記錄)的,分為快速歸檔(歸檔周期一分鍾以內)和慢速歸檔(歸檔周期一分鍾以上),快速歸檔是經過壓縮演算法以二進制文件形式存儲的,使用標準的SQL OLEDB是無法訪問的;推薦使用Connectivity Pack,它提供WinCC OLEDB,可以解析壓縮的數據,但它是WinCC的選件,需要單獨訂貨。
2. WinCC提供的標准控制項,例如在線趨勢、在線表格以及報警等,都是使用WinCC的數據解析連接到後台資料庫WinCC自身生成的資料庫,可以在WinCC的SQL Server資料庫中建立標準的表,但它不能被WinCC的標准控制項解析。