以编程方式连接到 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 , “其他表” ) ;
问候,
彼得