<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: JMP scripts embed DSN parameters; why?? in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/JMP-scripts-embed-DSN-parameters-why/m-p/44990#M25705</link>
    <description>&lt;P&gt;I tried this solution and got 90% of the result...&lt;/P&gt;&lt;P&gt;I am getting a successful connection to my database, but even though the DSN information imported with the include function has the UID and PWD values, the connection still prompts me to enter the DSN name&amp;nbsp;and the password in a ODBC popup window.&lt;/P&gt;&lt;P&gt;Any ideas of why this happens?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;//Get DSN Credentials&lt;/P&gt;&lt;P&gt;&lt;FONT face="Consolas" size="2"&gt;::Get DSN Credentials = &lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;"DRIVER={Oracle in OraClient11g_home1};DSN=myDB;UID=myUID;PWD=myPWD;DBQ=MyDB;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=F;BAM=IfAllSuccessful;MTS=F;MDI=F;CSR=F;FWC=F;PFC=10;TLO=0;"&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;// Return nothing&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My Jmp Script successfully connects:&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000dd" face="Consolas" size="2"&gt;If&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; (&lt;/FONT&gt;&lt;FONT color="#0000dd" face="Consolas" size="2"&gt;is empty&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;(::Get DSN Credentials),&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000dd" face="Consolas" size="2"&gt;include&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;(&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;"C:\_JMP Scripts\JMP DSN\&lt;FONT face="Consolas" size="2"&gt;Get DSN Credentials&lt;/FONT&gt;.jsl"&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;);&lt;/P&gt;&lt;P&gt;&lt;FONT face="Consolas" size="2"&gt;CONNECT = &lt;/FONT&gt;&lt;FONT color="#0000dd" face="Consolas" size="2"&gt;create database connection&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; (::Get DSN Credentials); &lt;/FONT&gt;　&lt;/P&gt;&lt;P&gt;&lt;FONT face="Consolas" size="2"&gt;SQL1 = &lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;"SELECT * FROM DB.TABLE&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;"&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;; &lt;/FONT&gt;　&lt;/P&gt;&lt;P&gt;&lt;FONT face="Consolas" size="2"&gt;OUTFILE1 = &lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;"MyFilename"&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;　&lt;/P&gt;&lt;P&gt;&lt;FONT face="Consolas" size="2"&gt;dt1 = &lt;/FONT&gt;&lt;FONT color="#0000dd" face="Consolas" size="2"&gt;Open Database&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;(CONNECT, SQL1, OUTFILE1);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;But still asks me for my DB name and my Password...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 21 Sep 2017 23:49:20 GMT</pubDate>
    <dc:creator>JensRiege</dc:creator>
    <dc:date>2017-09-21T23:49:20Z</dc:date>
    <item>
      <title>JMP scripts embed DSN parameters; why??</title>
      <link>https://community.jmp.com/t5/Discussions/JMP-scripts-embed-DSN-parameters-why/m-p/7933#M7927</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;JMP scripts embed data connection parameters inside the JSL file.&amp;nbsp; Is there any reason for such improper programming practice?&amp;nbsp; Imagine you have hundreds of JSLs and SQL admin decided to change the server or&amp;nbsp; database credentials.&amp;nbsp; Why not use DSNs as an intermediary?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Jan 2014 03:23:15 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/JMP-scripts-embed-DSN-parameters-why/m-p/7933#M7927</guid>
      <dc:creator>terramedics</dc:creator>
      <dc:date>2014-01-07T03:23:15Z</dc:date>
    </item>
    <item>
      <title>Re: JMP scripts embed DSN parameters; why??</title>
      <link>https://community.jmp.com/t5/Discussions/JMP-scripts-embed-DSN-parameters-why/m-p/7934#M7928</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The majority of our customers find this a useful feature, and in fact it was added due to customer requests.&amp;nbsp; It is easily suppressed by selecting Preferences-&amp;gt;Tables-&amp;gt;ODBC Hide Connection String.&amp;nbsp; This could be disseminated to users via a preference file specific to your organization.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Jan 2014 14:15:16 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/JMP-scripts-embed-DSN-parameters-why/m-p/7934#M7928</guid>
      <dc:creator>briancorcoran</dc:creator>
      <dc:date>2014-01-07T14:15:16Z</dc:date>
    </item>
    <item>
      <title>Re: JMP scripts embed DSN parameters; why??</title>
      <link>https://community.jmp.com/t5/Discussions/JMP-scripts-embed-DSN-parameters-why/m-p/7935#M7929</link>
      <description>&lt;P&gt;I have hundreds of JSL scripts that make calls to an Oracle database via ODBC.&amp;nbsp; However I don't embed separate data connection parameters inside each JSL file.&amp;nbsp; Instead I use an INCLUDE statement to run a single JSL file that defines the DSN string.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here's what my code looks like:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have one JSL script, called &lt;STRONG&gt;Get DSN_CREDENTIALS.jsl&lt;/STRONG&gt;:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;// Get DSN_CREDENTIALS.jsl
::my_dsn_credentials = "Driver={Oracle in OraClient11g64_home1};Dbq=MY_DATABASE;UID=MYUSERID;PWD=MYPASSWORD;";
// Return nothing
.;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I encrypt the script using JSL's code encryption capability, btw.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Then, each time I need the connection string I use code that looks like this:&lt;/P&gt;
&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;// Get database access string
if (is empty(::my_dsn_credentials),
      include("$ADDIN_HOME(com.mydept.myapp)\Get DSN_CREDENTIALS.jsl");
);
 
dbc = create database connection(::my_dsn_credentials);
sql_statement = "SELECT SYSDATE FROM DUAL";
dt = execute sql(dbc, sql_statement);
close database connection(dbc);&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 22 Sep 2017 17:39:34 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/JMP-scripts-embed-DSN-parameters-why/m-p/7935#M7929</guid>
      <dc:creator>pmroz</dc:creator>
      <dc:date>2017-09-22T17:39:34Z</dc:date>
    </item>
    <item>
      <title>Re: JMP scripts embed DSN parameters; why??</title>
      <link>https://community.jmp.com/t5/Discussions/JMP-scripts-embed-DSN-parameters-why/m-p/7936#M7930</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Smart solution; thank you for sharing!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Jan 2014 05:56:25 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/JMP-scripts-embed-DSN-parameters-why/m-p/7936#M7930</guid>
      <dc:creator>terramedics</dc:creator>
      <dc:date>2014-01-09T05:56:25Z</dc:date>
    </item>
    <item>
      <title>Re: JMP scripts embed DSN parameters; why??</title>
      <link>https://community.jmp.com/t5/Discussions/JMP-scripts-embed-DSN-parameters-why/m-p/7937#M7931</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;before posting this comment I could not find any info about managing ODBC.&amp;nbsp; My version of JMP 10 doesn't have this option.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="4719_DSN.JPG" style="width: 708px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/293i32F91F26E6CCEC00/image-size/medium?v=v2&amp;amp;px=400" role="button" title="4719_DSN.JPG" alt="4719_DSN.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Oct 2016 20:31:21 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/JMP-scripts-embed-DSN-parameters-why/m-p/7937#M7931</guid>
      <dc:creator>terramedics</dc:creator>
      <dc:date>2016-10-18T20:31:21Z</dc:date>
    </item>
    <item>
      <title>Re: JMP scripts embed DSN parameters; why??</title>
      <link>https://community.jmp.com/t5/Discussions/JMP-scripts-embed-DSN-parameters-why/m-p/7938#M7932</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It doesn't appear to be in the preferences for JMP 10.&amp;nbsp; It's in the JSL scripting guide on page 480.&amp;nbsp; You have to set it in JSL.&amp;nbsp; Here's the relevant part:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Note: When you import data from an ODBC database, a table variable is added that can contain user ID&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;and password information. To prevent this from happening, set the following JSL-only preference:&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: #0000dd;"&gt;pref&lt;/SPAN&gt;&lt;STRONG style="color: black; font-size: 10.0pt; font-family: 'Courier New';"&gt;(&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt;ODBC Hide Connection String&lt;STRONG&gt;(&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: teal;"&gt;1&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt;))&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: navy;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Jan 2014 13:02:13 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/JMP-scripts-embed-DSN-parameters-why/m-p/7938#M7932</guid>
      <dc:creator>pmroz</dc:creator>
      <dc:date>2014-01-09T13:02:13Z</dc:date>
    </item>
    <item>
      <title>Re: JMP scripts embed DSN parameters; why??</title>
      <link>https://community.jmp.com/t5/Discussions/JMP-scripts-embed-DSN-parameters-why/m-p/7939#M7933</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is a poor security solution.&amp;nbsp; All I would have to do to get the username and password to your database would be to run:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #555555;"&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit; font-size: 10pt; font-family: 'Courier New'; color: #0000dd;"&gt;include&lt;/SPAN&gt;&lt;STRONG style="font-style: inherit; font-size: 10pt; font-family: 'Courier New'; color: black;"&gt;(&lt;/STRONG&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit; font-size: 10pt; font-family: 'Courier New'; color: purple;"&gt;"$ADDIN_HOME(com.mydept.myapp)\Get DSN_CREDENTIALS.jsl"&lt;/SPAN&gt;&lt;STRONG style="font-style: inherit; font-size: 10pt; font-family: 'Courier New'; color: black;"&gt;)&lt;/STRONG&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit; font-size: 10pt; font-family: 'Courier New'; color: navy;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #555555;"&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit; font-size: 10pt; font-family: 'Courier New'; color: navy;"&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New'; color: navy;"&gt;::&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New'; color: black;"&gt;my_dsn_credentials;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #555555;"&gt;&lt;SPAN style="color: black; font-weight: inherit; font-size: 10pt; font-family: 'Courier New'; font-style: inherit;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #555555;"&gt;Whats stored in ::my_dsn_credentials will be displayed in the log file in plain text.&amp;nbsp; Not to mention storing the credentials all in one place as global variables, I could easily run this:&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #555555;"&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #555555;"&gt;&lt;SPAN style="line-height: 1.5em; font-weight: inherit; font-style: inherit; font-size: 10pt; font-family: 'Courier New'; color: #0000dd;"&gt;include&lt;/SPAN&gt;&lt;STRONG style="line-height: 1.5em; font-style: inherit; font-size: 10pt; font-family: 'Courier New'; color: black;"&gt;(&lt;/STRONG&gt;&lt;SPAN style="line-height: 1.5em; font-weight: inherit; font-style: inherit; font-size: 10pt; font-family: 'Courier New'; color: purple;"&gt;"$ADDIN_HOME(com.mydept.myapp)\Get DSN_CREDENTIALS.jsl"&lt;/SPAN&gt;&lt;STRONG style="line-height: 1.5em; font-style: inherit; font-size: 10pt; font-family: 'Courier New'; color: black;"&gt;)&lt;/STRONG&gt;&lt;SPAN style="line-height: 1.5em; font-weight: inherit; font-style: inherit; font-size: 10pt; font-family: 'Courier New'; color: navy;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit; font-size: 10pt; font-family: 'Courier New';"&gt;&lt;SPAN style="color: #000080; font-size: 10pt; font-family: 'Courier New';"&gt;show globals()&lt;/SPAN&gt;&lt;SPAN style="color: black; font-size: 10pt; font-family: 'Courier New';"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;&lt;SPAN style="color: black; font-weight: inherit; font-size: 10pt; font-family: 'Courier New'; font-style: inherit;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New';"&gt;&lt;SPAN style="font-size: 10pt; font-style: inherit; font-weight: inherit;"&gt;Now I have all the database information stored in Get DSN_CREDENTIALS.jsl, even databases not used in the original script I &lt;/SPAN&gt;received&lt;SPAN style="font-size: 10pt; font-style: inherit; font-weight: inherit;"&gt;.&amp;nbsp; This second portion can be fixed easily by changing all "::" to "__" (double-underscore), thus, ::my_dsn_credentials becomes __my_dsn_credentials.&amp;nbsp; This will hide the global variables from being displayed in the show globals(); function. However, this still doesn't solve the issue where the specified database is compromised. This can also be fixed following the format:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-weight: inherit; font-size: 10pt; font-family: 'Courier New'; font-style: inherit;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #555555;"&gt;&lt;STRONG style="font-style: inherit; font-family: inherit;"&gt;Get DSN_CREDENTIALS.jsl&lt;/STRONG&gt;:&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #555555;"&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #555555;"&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit; font-size: 10pt; font-family: 'Courier New'; color: green;"&gt;// Get DSN_CREDENTIALS.jsl&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #555555;"&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit; font-size: 10pt; font-family: 'Courier New'; color: black;"&gt;__my_dsn_credentials &lt;/SPAN&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit; font-size: 10pt; font-family: 'Courier New'; color: navy;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit; font-size: 10pt; font-family: 'Courier New'; color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit; font-size: 10pt; font-family: 'Courier New'; color: purple;"&gt;"Driver={Oracle in OraClient11g64_home1};Dbq=MY_DATABASE;UID=MYUSERID;PWD=MYPASSWORD;"&lt;/SPAN&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit; font-size: 10pt; font-family: 'Courier New'; color: navy;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #555555;"&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit; font-size: 10pt; font-family: 'Courier New'; color: green;"&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New'; color: black;"&gt;__dbc &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New'; color: navy;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #555555; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px;"&gt; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New'; color: #0000dd;"&gt;create database connection&lt;/SPAN&gt;&lt;STRONG style="font-size: 10pt; font-family: 'Courier New'; color: black;"&gt;(__&lt;/STRONG&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New'; color: black;"&gt;my_dsn_credentials&lt;STRONG style="font-style: inherit; font-size: 13.3333320617676px; font-family: inherit;"&gt;)&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New'; color: navy;"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #555555;"&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit; font-size: 10pt; font-family: 'Courier New'; color: green;"&gt;// Return nothing&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #555555;"&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 13.3333330154419px;"&gt;__my_dsn_credentials = &lt;/SPAN&gt;&lt;STRONG style="font-style: inherit; font-size: 10pt; font-family: 'Courier New'; color: teal;"&gt;.&lt;/STRONG&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit; font-size: 10pt; font-family: 'Courier New'; color: navy;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #555555;"&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit; font-size: 10pt; font-family: 'Courier New'; color: navy;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #555555;"&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit; font-size: 10pt; font-family: 'Courier New'; color: navy;"&gt;This fixes two issues.&amp;nbsp; One you can pass __dbc to another script.&amp;nbsp; If one runs __dbc; it will pass 'Database( "Oracle in OraClient11g64_home1(MY_DATABASE)" )' to the log for the above script.&amp;nbsp; Displaying the driver and database is far less of a security threat as passing a username and password.&amp;nbsp; Second, and this is important, __my_dsn_credentials is written over.&amp;nbsp; This means even if they were to GUESS the variable the information is still safe.&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 05 Oct 2015 19:36:02 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/JMP-scripts-embed-DSN-parameters-why/m-p/7939#M7933</guid>
      <dc:creator>msharp</dc:creator>
      <dc:date>2015-10-05T19:36:02Z</dc:date>
    </item>
    <item>
      <title>Re: JMP scripts embed DSN parameters; why??</title>
      <link>https://community.jmp.com/t5/Discussions/JMP-scripts-embed-DSN-parameters-why/m-p/7940#M7934</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;That's better than what I've been doing.&amp;nbsp; Thanks for sharing.&amp;nbsp; I have the "luxury" of working with non-techie users.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 05 Oct 2015 20:02:26 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/JMP-scripts-embed-DSN-parameters-why/m-p/7940#M7934</guid>
      <dc:creator>pmroz</dc:creator>
      <dc:date>2015-10-05T20:02:26Z</dc:date>
    </item>
    <item>
      <title>Re: JMP scripts embed DSN parameters; why??</title>
      <link>https://community.jmp.com/t5/Discussions/JMP-scripts-embed-DSN-parameters-why/m-p/44990#M25705</link>
      <description>&lt;P&gt;I tried this solution and got 90% of the result...&lt;/P&gt;&lt;P&gt;I am getting a successful connection to my database, but even though the DSN information imported with the include function has the UID and PWD values, the connection still prompts me to enter the DSN name&amp;nbsp;and the password in a ODBC popup window.&lt;/P&gt;&lt;P&gt;Any ideas of why this happens?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;//Get DSN Credentials&lt;/P&gt;&lt;P&gt;&lt;FONT face="Consolas" size="2"&gt;::Get DSN Credentials = &lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;"DRIVER={Oracle in OraClient11g_home1};DSN=myDB;UID=myUID;PWD=myPWD;DBQ=MyDB;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=F;BAM=IfAllSuccessful;MTS=F;MDI=F;CSR=F;FWC=F;PFC=10;TLO=0;"&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;// Return nothing&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My Jmp Script successfully connects:&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000dd" face="Consolas" size="2"&gt;If&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; (&lt;/FONT&gt;&lt;FONT color="#0000dd" face="Consolas" size="2"&gt;is empty&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;(::Get DSN Credentials),&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000dd" face="Consolas" size="2"&gt;include&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;(&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;"C:\_JMP Scripts\JMP DSN\&lt;FONT face="Consolas" size="2"&gt;Get DSN Credentials&lt;/FONT&gt;.jsl"&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;);&lt;/P&gt;&lt;P&gt;&lt;FONT face="Consolas" size="2"&gt;CONNECT = &lt;/FONT&gt;&lt;FONT color="#0000dd" face="Consolas" size="2"&gt;create database connection&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; (::Get DSN Credentials); &lt;/FONT&gt;　&lt;/P&gt;&lt;P&gt;&lt;FONT face="Consolas" size="2"&gt;SQL1 = &lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;"SELECT * FROM DB.TABLE&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;"&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;; &lt;/FONT&gt;　&lt;/P&gt;&lt;P&gt;&lt;FONT face="Consolas" size="2"&gt;OUTFILE1 = &lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;"MyFilename"&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;　&lt;/P&gt;&lt;P&gt;&lt;FONT face="Consolas" size="2"&gt;dt1 = &lt;/FONT&gt;&lt;FONT color="#0000dd" face="Consolas" size="2"&gt;Open Database&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;(CONNECT, SQL1, OUTFILE1);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;But still asks me for my DB name and my Password...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 21 Sep 2017 23:49:20 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/JMP-scripts-embed-DSN-parameters-why/m-p/44990#M25705</guid>
      <dc:creator>JensRiege</dc:creator>
      <dc:date>2017-09-21T23:49:20Z</dc:date>
    </item>
  </channel>
</rss>

