以编程方式连接到 SQL 数据库<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好,
我正在尝试使用脚本连接到 SQL 数据库
打开数据库命令。
现在,当我交互工作时,我创建一个“机器数据源”
数据库连接小部件。 当我连接时,会打开一个窗口询问
用户名和密码。 当我插入它们时,我可以成功连接
到数据库并将表导入到 JMP 中。
所以我想从脚本中尝试同样的事情。 不幸的是,我没有看到
我将在其中插入用户名和密码。 当我尝试连接时
我在日志窗口中收到以下错误消息。
[Microsoft][ODBC SQL Server 驱动程序][SQL Server]用户“”登录失败。
我想这并不奇怪,因为我没有指定如何进行身份验证......
代码是
数据库 = 打开数据库(
"DSN=myDatabase", // 数据源
"myTablename", //表
"JMPtable" // 新表名
);
那么我如何指定我的身份验证详细信息呢?
再见,
保罗
回复:以编程方式连接到 SQL 数据库@jmpbeginner ,
您的回复实际上非常有价值。
非常感谢!
罗恩
回复:以编程方式连接到 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>
如果要插入很多行,请考虑一次执行多个插入。在Oracle中你可以使用全部插入一次插入多行。
回复:以编程方式连接到 SQL 数据库嗨,先生。姆罗兹,
感谢您的分享。
我正在学习 JMP 连接数据库;根据您的脚本,我能够打开数据库。
我的下一个问题是,如何将一行(行)插入数据库中的现有表中。
我可以得到以下内容:
(1).现有_col_names=当前数据表() << 获取列名( string);
(2)。通过 new_values= dt << Get As Matrix() 获取新值(在矩阵中);
如何将 new_values 附加到数据库中的现有表中?
此致,
甘肃
回复:以编程方式连接到 SQL 数据库”创建的 JMP 数据集将有两个表变量:吉林省和SQL”
解决了我自己的问题,但我想我也会在这里分享:
如果您没有看到两个表变量“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:\我的企业\供应商\IT\Access\Northwind.mdb;DefaultDir=D:\我的企业\供应商\IT\Access;DriverId=25;FIL=MS Access;MaxBufferSize= 2048;PageTimeout=5;PWD=123;UID=admin;",
“从客户中选择*”
)
关闭所有表后,我运行它,我发现我可以打开密码保护的访问表。但是如果我无法获取该窗口来指定身份验证过程。
我已经测试过将PWD=123更改为***。 这是行不通的。
你能给我一些意见吗?
以编程方式连接到 SQL 数据库嗨,坤,
您将使用列出的任何内容吉林省数据集中因读取 Access 表而产生的变量。您实际上并没有为用户名和密码“设置参数” - 您只需构建一个连接字符串并使用它。我不知道Access是否有使用用户名和密码的功能。这是我用于 Access 数据库的连接字符串。请注意,没有用户名/密码。
// 数据源
dsn_字符串= “DSN=MS Access 数据库;” ||
“DBQ=C:\Discovery2011\JMP Surveillance1.accdb;” ||
“默认目录=C:\Discovery2011;DriverId=25;” ||
“FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;” ;
以编程方式连接到 SQL 数据库亲爱的姆罗兹先生,
这是坤。 我已经加入这个小组了。
感谢您对这个数据库连接问题的答复。 这里我还使用 JMP 连接一些 MS Access 数据库文件
文件>数据库>打开表。
。 我想知道您正在讨论的密码和 ID 是用于访问文件的还是用于保存数据库文件的服务器的? 如果PW和ID是Access文件的,我可以在哪里设置这些参数?
坤
以编程方式连接到 SQL 数据库谢谢,
效果很好。
再见,
保罗
以编程方式连接到 SQL 数据库保罗,
您需要正确的 DSN 连接字符串。要获取此信息,请运行命令文件>数据库>打开表。点击连接并选择您的 ODBC 源。系统将提示您输入用户名和密码。输入该信息后,将出现模式和表的列表。选择任何(小)表并单击开表。之后点击阅读断开。ges 创建的 JMP 数据集将有两个表变量:吉林省和SQL 。如果单击它们,您将看到连接字符串和所使用的 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_字符串= “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_字符串, sql_string , “其他表” ) ;
问候,
彼得