以編程方式連接到 SQL 數據庫<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好,
我正在嘗試使用腳本連接到 SQL 數據庫
打開數據庫命令。
現在,當我以交互方式工作時,我從
數據庫連接部件。 當我連接時,會打開一個窗口詢問
用於用戶名和密碼。 當我插入它們時,我可以成功連接
到數據庫並將表導入 JMP。
所以我想從腳本中嘗試同樣的方法。 不幸的是,我沒有看到
我將在其中插入用戶名和密碼。 當我嘗試連接時
我在日誌窗口中收到以下錯誤消息。
[Microsoft][ODBC SQL Server 驅動程序][SQL Server]用戶“”登錄失敗。
我想這並不奇怪,因為我沒有指定如何驗證......
代碼是
數據庫 = 打開數據庫(
"DSN=myDatabase", // 數據源
"我的表名", //表
"JMPtable" // 新表名
);
那麼如何指定我的身份驗證詳細信息呢?
再見,
保羅
回复:以編程方式連接到 SQL 數據庫@jmp初學者,
您的回复實際上非常有價值。
非常感謝!
羅恩
回复:以編程方式連接到 SQL 數據庫謝謝你的分享,很有幫助!
回复:以編程方式連接到 SQL 數據庫這是一個使用 Big Class 的簡單示例,可以幫助您入門。它將所有行插入到名為 big_class 的數據庫表中。注意使用評估插入- 使琴弦看起來更乾淨。
dt = open("$sample_data\big class.jmp");
dbc = create database connection("<PROPER connection="" parameters="">");
for (i = 1, i <= nrows(dt), i++,
one_name = dt:name[i];
one_age = dt:age[i];
one_sex = dt:sex[i];
one_ht = dt:height[i];
one_wt = dt:weight[i];
sql = evalinsert(
"INSERT INTO big_class(name, age, sex, height, weight)
VALUES('^one_name^', ^one_age^, '^one_sex^', ^one_ht^, ^one_wt^)");
print(sql);
execute sql(dbc, sql); // Does an implicit commit
);
close database connection(dbc);
</PROPER>
如果要插入很多行,請考慮一次進行多個插入。在甲骨文中你可以使用全部插入一次插入多行。
回复:以編程方式連接到 SQL 數據庫嗨,先生。姆羅茲,
感謝您的分享。
我正在學習 JMP 連接到數據庫;根據您的腳本,我可以打開數據庫。
我的下一個問題是,如何向數據庫中現有的表中插入一行(lines)。
我可以得到以下信息:
(1). existing_col_names=當前數據表() << 獲取列名( string);
(2).通過 new_values= dt << Get As Matrix(); 獲取新值(在 matrix 中);
如何將 new_values 附加到數據庫中的現有表中?
此致,
WGAN
回复:以編程方式連接到 SQL 數據庫“創建的 JMP 數據集將有兩個表變量: JSL和數據庫”
解決了我自己的問題,但我想我也會在這里分享:
如果您沒有看到“JSL”和“SQL”或“Source”這兩個表變量,則它們因偏好而被隱藏。
運行這個 JSL 腳本來解決問題:
pref(ODBC 隱藏連接字符串(0));
以編程方式連接到 SQL 數據庫我沒有在 Access 數據庫中使用密碼。如果您沒有收到此論壇上某人的消息,我建議您聯繫 JMP 技術支持。
以編程方式連接到 SQL 數據庫莫羅茲先生,
我從 MS Access 方面對用戶/密碼集進行了一些研究。根據當前信息,我們確實有辦法為 MS Access 文件設置密碼。 您可以訪問以下鏈接以獲取一些方法。看來我找不到為訪問文件設置用戶名的方法。
http://office.microsoft.com/en-us/access-help/CH001010607.aspx?CTT=97
我已經測試了添加 123 作為 Northwind.mdb 的密碼。 並嘗試將其與 mdb 連接。 如果我用菜單操作,一個提示窗口會問我ID/PW。在我插入“123”之後。我可以獲得數據庫文件並打開表。然後我斷開連接並獲得以下 JSL。 你可以找到 PWD 和 UID 信息。
打開數據庫(
"DSN=MS Access 數據庫;DBQ=D:\My Business\Supplier\IT\Access\Northwind.mdb;DefaultDir=D:\My Business\Supplier\IT\Access;DriverId=25;FIL=MS Access;MaxBufferSize= 2048;PageTimeout=5;PWD=123;UID=admin;",
“從客戶中選擇 *”
)
關閉所有表後,我運行它,我發現我可以打開受密碼保護的訪問表。但是如果我無法獲得指定身份驗證過程的窗口。
我測試過把PWD=123改成***。 這沒用。
你能給我一些意見嗎?
以編程方式連接到 SQL 數據庫嗨坤,
您將使用列出的任何內容JSL數據集中因讀取 Access 表而產生的變量。您實際上並沒有為用戶 ID 和密碼“設置參數”——您只是構建一個連接字符串並使用它。我不知道Access是否有使用用戶名和密碼的能力。這是我用於 Access 數據庫的連接字符串。請注意,沒有用戶名/密碼。
// 數據源
dsn_string = “DSN=MS Access 數據庫;” ||
“DBQ=C:\Discovery2011\JMP Surveillance1.accdb;” ||
“默認目錄=C:\Discovery2011;DriverId=25;” ||
“FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;” ;
以編程方式連接到 SQL 數據庫親愛的 Mroz 先生,
這是鯤 我加入了這個群。
感謝您對這個數據庫連接問題的回复。 在這裡,我還使用 JMP 通過以下方式連接了一些 MS Access 數據庫文件
文件 > 數據庫 > 打開表.
. 我想知道您正在討論的密碼和 ID 是用於訪問文件還是用於保存數據庫文件的服務器? 如果PW 和ID 是訪問文件,我可以在哪裡設置這些參數?
坤
以編程方式連接到 SQL 數據庫謝謝,
效果很好。
再見,
保羅
以編程方式連接到 SQL 數據庫保羅,
您需要正確的 DSN 連接字符串。為此,請運行命令文件 > 數據庫 > 打開表.點擊連接並選擇您的 ODBC 源。系統將提示您輸入用戶名和密碼。輸入該信息後,將出現一個模式和表格列表。選擇任何(小)表並單擊打開表.點擊閱讀後斷開.ges 創建的 JMP 數據集將有兩個表變量: JSL和數據庫.如果單擊它們,您將看到連接字符串和使用的 SQL 語句。您可以雙擊 JSL 變量來查看它的值 - 它看起來像這樣:
打開數據庫( “DSN=ODBC 數據庫xxx;UID=xxxx;PWD=xxxxxxx;DBQ=mydatabasexxxx;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T; RST=T;BTD=F;BNF=F;BAM=IfAllSuccessful;NUM=NLS;DPM=F;MTS=T;MDI=F;CSR=F;FWC=F;FBS=64000;TLO=O;” ,
“從 myschema.mytable 中選擇 *” ) ;
我的示例顯示了一個典型的 Oracle 數據庫 dsn 字符串。對於 SQL Server,您的看起來會略有不同。保存此字符串 - 要以編程方式使用它,您需要執行以下操作:
dsn_string = “DSN=ODBC 數據庫xxx;UID=xxxx;PWD=xxxxxxx;DBQ=mydatabasexxxx;DBA=W;” ||
“APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;BTD=F;BNF=F;” ||
“BAM=IfAllSuccessful;NUM=NLS;DPM=F;MTS=T;MDI=F;CSR=F;FWC=F;FBS=64000;TLO=O;” ;
sql_string = “從 myschema.othertable 中選擇 *”
打開數據庫( dsn_string , sql_string , “其他表” ) ;
問候,
彼得