① 組態軟體北京三維力控怎樣直接讀取ifix資料庫的監控數據
一般情況下組態軟體直接通訊有三種方案
一是通過opc的方式 這個最簡單。但是配置伺服器還是需要費一些功夫的
二是通過中間軟體 例如關系資料庫。如果ifix的opc不給開放 就可以先把數據存入關系資料庫 例如sql access 然後力控再從關系資料庫取。這種辦法是最便宜最省錢的
三是走底層介面 ifix也可以開放底層資料庫介面 但是開發底層介面的費用很高 而且技術服務支持不動 所以採用的很少
② 力控組態軟體同步實時數據到關系型資料庫(sqlserver 2008)
欄位Time和TagName是建表是的自動欄位,不用設置,可以根據不同需要自己增加數據轉儲的欄位,可以自己修改欄位名。
按鈕AuTo是自動添加所有變數的欄位名,如果是本地數據源就欄位名等於變數名,如果是遠程數據源欄位名自動等於」遠程數據源名\\變數名」。
此時點擊完成,和SQLserver2000之間的一個數據轉儲任務就設置完成。
③ 力控sqlinsert失敗
力控sqlinsert失敗在要插入語句前set names utf8
失敗的原因:1.表中存在外鍵,關聯到另一個表,插入不存在於另一表主鍵的值的時候會報錯
2.value後面括弧的欄位數目、類型和value前面的欄位數目或者類型不匹配
1、添加ADO 後台組件,建立數據表綁定
2、打開資料庫
3、按照建立的綁定向庫中插入數據
④ 怎麼通過力控軟體刪除sql資料庫中的單個內容 函數腳本怎麼編寫
1、必須先安裝Microsoft Office Access 2003,和SQL Server資料庫。
2、用Access 2003打開動資料庫,打開後按工具欄——資料庫實用工具——轉換資料庫——轉換為2002-2003格式,把資料庫轉換成2003格式。
3、轉換完成後再用Access 2003打開,打開後按工具欄——資料庫實用工具——升遷向導——新建資料庫——填寫SQL資料庫登陸名稱、密碼和要新建的資料庫(准備轉成新的資料庫),按下一步,按「 》」鍵,再按下一步,選取所有選項,再按下一步,選擇「不對應用程序作任何改動」,再按完成。
4、打開SQL企業管理器——資料庫---選中相應的資料庫---右鍵所有任務-----生成SQL腳本——常規——全部顯示——編寫全部對象腳本——確定(記住存放的位置)。
5、用記事本打開剛才生成的SQL腳本,在編輯欄——替換——查找內容為「smalldatetime」替換為「datetime」——替換全部;完成後再在編輯欄——替換——查找內容為「nvarchar」替換為「varcha」——替換全部,完成後保存退出。
6、打開SQL企業管理器——資料庫——點擊新建的資料庫,然後在工具欄——SQL查詢分析器——文件——打開——「剛才生成的SQL腳本」——查詢——執行,然後關閉窗口。
7、再回到SQL企業管理器——資料庫——點擊新建的資料庫,然後打開工具欄——資料庫轉換服務——導入數據——下一步——數據源「Microsoft Access」文件名「為舊的acc資料庫」——下一步——再下一步——從源數據復製表和視圖——下一步——全選——下一步——立即運行——下一步——完成。
8、最後補充:
(1)由於SQL2000裡面沒有"自動編號",所以你的以"自動編號"設置的欄位都會變成非空的欄位,這就必須手工修改這些欄位,並把他的"標示"選擇"是",種子為"1",增量為"1",
(2)另外,ACCESS2000轉換成SQL2000後,原來屬性為"是/否"的欄位將被轉換成非空的"bit",這時候你必須修改成自己想要的屬性了;
(3)另外,大家要注意對時間函數的把握.ACCESS與SQL是有很多不同的.
根據以上3點,再回到SQL企業管理器——資料庫——點擊這個資料庫下新建的資料庫,將所有表的欄位屬性根據以上3點進行修改
補充說明:
自動增加欄位需要重寫。在access中經常使用的自動編號欄位,導入到mssql後,他並不是自增型的int,需要手工設置,把導入後的自動編號欄位的標識的「否」改為「是」,「種子」和「遞增量」都為「1」,才能成為自動編號
所有的默認值都丟失了。主要是數字類型和日期類型
所有now(),time(),date()要改成getdate()
所有datediff(『d『, time1, time2)要改成datediff(day, time1, time2)
所有datediff(『ww『, time1, time2)要改成datediff(week, time1, time2)
所有datediff(『d『, time1, time2)要改成datediff(day, time1, time2)
在mssql server中,有許多保留字,在access中是沒有的,當你把數據導入到mssql的時候,問題就出來了。mssql在導入的時候,會自動給這些欄位(包括資料庫中的表名)加上「[欄位名]」,因此,你必須修改你的腳本,把相應的欄位名字(或者表名字)加上中括弧,或改變欄位名字為不是mssql的保留字
在用access關於時間的使用,大家喜歡使用「select * from aaaa while time="
⑤ 力控組態如何在雲端讀取數據
咨詢記錄 · 回答於2021-10-21
並且須提供遠程訪問和1433口打開.
參考2005的.Sql Server 2005的1433埠打開和進行遠程連接
如何打開sql server 2005 的1433埠
配置工具->Sql Server Configuration Manager->MSSQLSERVER的協議
看看TCP/IP協議是否啟動,如果啟動,右鍵菜單點"屬性" ,在分頁菜單中選"IP地址",把"IP1"和"IP2"中"TCP埠"為1433,
"已啟用"改為"是"
配置工具->Sql Server Configuration Manager->SQL Native Client 配置->客戶端協議->TCP/IP
選擇TCP/IP右鍵菜單中"屬性",確認"默認埠"是1433,"已啟用"為"是"
SQL Server 2005 遠程連接
⑦ 力控怎麼讀取sql表內容連接成功,亦可寫入數值,就是不知如何讀取(使用專家報表)。
用專家報表顯示需要配置數據源,就是在專家報表的第一步三個選擇中選擇第二部與關系資料庫向導,然後按照步驟配置,這部分可以看力控的幫助圖形界面開發的第九章9.3.3。
⑧ 請教 力控組態軟體 SQL 查詢關系資料庫語句 時間問題。。。
雖然不太清楚你的具體用法,但是感覺問題好像出在你的那些單引號和雙引號上。
試試?
#Report.sqlqueryEx(-1,"select * from [表1] where [time] >="+StrTime(#Datetime.GetTime(),1)+" and [time]<= "+StrTime(#Datetime5.GetTime(),1));
⑨ 你好 我現在的sql已經安裝SP4,並在路由器映射了埠,為什麼在力控web發布界面里還是看不到sql的數據呢
那力控發布成功了嗎?如果力控發布成功了,只有sql沒有成功的話,你先將瀏覽器的歷史記錄都清除了,在將力控工程目錄下的webroot(以前發布的內容)文件夾中的內容都刪除了,然後重新發布,運行後,用telnet+空格+外網IP地址+空格+1433(1433是sql的埠)看看,埠有沒有通,如果沒有通,說明1433這個埠你沒有打開。
⑩ 力控軟體如何與SQL server 2000建立連接 把資料庫採集到的數據傳到力控里 高懸賞!!!!!!!!!!
你加我網路hi吧
1、 力控連接SQL Server 2000
新建ODBC數據源
添加SQL Server數據源
選擇在SQL Server 2000建立好的資料庫
建立完畢SQL_2000_Test數據源
在力控中使用增強型按鈕
雙擊按鈕
選擇左鍵動作,選定SQLConnect
雙擊SQLConnect,在右側函數的括弧內輸入字母e代替該函數,逗號,然後選擇該界面工具欄最後一個工具:數據源選擇
選擇剛建立好的數據源SQL_2000_Test
2、 力控讀取SQL Server 2000數據
添加增強型按鈕,命名為讀取SQL 2000數據,以觸發數據讀取
添加表格,以顯示SQL Server 2000中數據
雙擊表格設置數據表中的列欄位,這些欄位應和SQL Server 2000中數據相對應
設置表格的名字為:biaoge
雙擊按鈕「讀取SQL 2000」,點擊左鍵動作,在窗體右側編寫腳本。至此,設置完畢。運行時,首先點擊「連接SQL 2000」按鈕,然後點擊「讀取SQL 2000」按鈕,SQL 2000中的相應表中的相應數據
在數據表管理中建立數據表綁定
欄位是SQL Server 2000中的欄位,參數類型可以在力控和SQL Server中通過力控的SQL函數轉換(如),變數名為力控中對應變數,該變數地址為PLC地址,以便把該地址存入SQL Server 2000中。
雙擊「添加SQL Server 2000」按鈕,點擊「左鍵動作」在彈出的窗體的右側寫入腳本,完成即可
設置地址,添加數據,即可完成力控數據寫入SQL Server 2000