如果您想了解使用SQL凭据通过OpenRowSet打开文件的知识,那么本篇文章将是您的不二之选。同时我们将深入剖析javax.sql.rowset.JoinRowSet的实例源码、matlab中fop
如果您想了解使用SQL凭据通过OpenRowSet打开文件的知识,那么本篇文章将是您的不二之选。同时我们将深入剖析javax.sql.rowset.JoinRowSet的实例源码、matlab中fopen 打开文件或获得有关打开文件的信息、OpenRead方法打开文件并读取、openrowset的各个方面,并给出实际的案例分析,希望能帮助到您!
本文目录一览:- 使用SQL凭据通过OpenRowSet打开文件
- javax.sql.rowset.JoinRowSet的实例源码
- matlab中fopen 打开文件或获得有关打开文件的信息
- OpenRead方法打开文件并读取
- openrowset
使用SQL凭据通过OpenRowSet打开文件
我正在尝试运行以下语句:
INSERT INTO table SELECT * FROM
OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;
Database=//server/folder/file.xls;
HDR=YES;','SELECT * FROM [Sheet1$]')
但是,我收到以下错误:
OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" returned message "The Microsoft Access database engine cannot open or write to the file '\\server\folder\file.xls'. It is already opened exclusively by another user,or you need permission to view and write its data.".
Msg 7303,Level 16,State 1,Line 1
Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)".
我在32位计算机上运行SQL Server 2005。最终执行的代码将来自IIS6 Web服务器上的c#代码。但是,当前我只是试图使其在SQL
Server上运行。我已使用SQL Auth登录到SQL Server,但必须使用特定于共享驱动器(我们网络上的AD帐户)的Windows
Auth访问该文件。为了允许,已将临时特权授予SQL Auth帐户OPENROWSET
。
我试图添加UID=user;PASS=pswd
到OPENROWSET
下面的代码中:
INSERT INTO table SELECT * FROM
OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;
Database=//server/folder/file.xls;
HDR=YES;
UID=user;
PASS=pswd','SELECT * FROM [Sheet1$]')
这产生了相同的错误。我还CREDENTIAL
使用用户ID设置了SQL ,并通过Windows Auth Active
Directory帐户访问了该共享驱动器,但仍然存在错误。
我考虑过使用代理,但这不是SQL Server代理作业。这是一个特别的电话。
我还使用具有共享权限的用户使用Windows Auth登录了SQL Server,并得到了相同的错误。
我对此进行了很多研究,但似乎找不到有效的答案。通过我的搜索,这似乎是很多人遇到的问题。任何帮助将不胜感激。我很困惑
javax.sql.rowset.JoinRowSet的实例源码
private void validateResults(final JoinRowSet jrs) throws sqlException { List<Integer> results = new ArrayList<>(); jrs.beforeFirst(); while (jrs.next()) { if (jrs.getInt(JOIN_COLNAME) == SUP_ID) { results.add(jrs.getInt("COF_ID")); } } assertEquals(results.toArray(),EXPECTED); }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0000(CachedRowSet crs,CachedRowSet crs1) throws Exception { try (JoinRowSet jrs = newInstance()) { jrs.addRowSet(crs,JOIN_COLNAME); jrs.addRowSet(crs1,JOIN_COLNAME); validateResults(jrs); crs.close(); crs1.close(); } }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0001(CachedRowSet crs,COFFEES_JOIN_COLUMN_INDEX); jrs.addRowSet(crs1,supplierS_JOIN_COLUMN_INDEX); validateResults(jrs); crs.close(); crs1.close(); } }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0002(CachedRowSet crs,CachedRowSet crs1) throws Exception { try (JoinRowSet jrs = newInstance()) { RowSet[] rowsets = {crs,crs1}; String[] joinCols = {JOIN_COLNAME,JOIN_COLNAME}; jrs.addRowSet(rowsets,joinCols); validateResults(jrs); crs.close(); crs1.close(); } }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0003(CachedRowSet crs,crs1}; int[] joinCols = {COFFEES_JOIN_COLUMN_INDEX,supplierS_JOIN_COLUMN_INDEX}; jrs.addRowSet(rowsets,joinCols); validateResults(jrs); crs.close(); crs1.close(); } }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0005(CachedRowSet crs,CachedRowSet crs1) throws Exception { try (JoinRowSet jrs = newInstance()) { crs.setMatchColumn(JOIN_COLNAME); crs1.setMatchColumn(JOIN_COLNAME); jrs.addRowSet(crs); jrs.addRowSet(crs1); validateResults(jrs); crs.close(); crs1.close(); } }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0006(CachedRowSet crs,CachedRowSet crs1) throws Exception { try (JoinRowSet jrs = newInstance()) { crs.setMatchColumn(COFFEES_JOIN_COLUMN_INDEX); crs1.setMatchColumn(supplierS_JOIN_COLUMN_INDEX); jrs.addRowSet(crs); jrs.addRowSet(crs1); validateResults(jrs); crs.close(); crs1.close(); } }
private void validateResults(final JoinRowSet jrs) throws sqlException { List<Integer> results = new ArrayList<>(); jrs.beforeFirst(); while (jrs.next()) { if (jrs.getInt(JOIN_COLNAME) == SUP_ID) { results.add(jrs.getInt("COF_ID")); } } assertEquals(results.toArray(),EXPECTED); }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0000(CachedRowSet crs,JOIN_COLNAME); validateResults(jrs); crs.close(); crs1.close(); } }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0001(CachedRowSet crs,supplierS_JOIN_COLUMN_INDEX); validateResults(jrs); crs.close(); crs1.close(); } }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0002(CachedRowSet crs,joinCols); validateResults(jrs); crs.close(); crs1.close(); } }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0003(CachedRowSet crs,joinCols); validateResults(jrs); crs.close(); crs1.close(); } }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0005(CachedRowSet crs,CachedRowSet crs1) throws Exception { try (JoinRowSet jrs = newInstance()) { crs.setMatchColumn(JOIN_COLNAME); crs1.setMatchColumn(JOIN_COLNAME); jrs.addRowSet(crs); jrs.addRowSet(crs1); validateResults(jrs); crs.close(); crs1.close(); } }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0006(CachedRowSet crs,CachedRowSet crs1) throws Exception { try (JoinRowSet jrs = newInstance()) { crs.setMatchColumn(COFFEES_JOIN_COLUMN_INDEX); crs1.setMatchColumn(supplierS_JOIN_COLUMN_INDEX); jrs.addRowSet(crs); jrs.addRowSet(crs1); validateResults(jrs); crs.close(); crs1.close(); } }
private void validateResults(final JoinRowSet jrs) throws sqlException { List<Integer> results = new ArrayList<>(); jrs.beforeFirst(); while (jrs.next()) { if (jrs.getInt(JOIN_COLNAME) == SUP_ID) { results.add(jrs.getInt("COF_ID")); } } assertEquals(results.toArray(),EXPECTED); }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0000(CachedRowSet crs,JOIN_COLNAME); validateResults(jrs); crs.close(); crs1.close(); } }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0001(CachedRowSet crs,supplierS_JOIN_COLUMN_INDEX); validateResults(jrs); crs.close(); crs1.close(); } }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0002(CachedRowSet crs,joinCols); validateResults(jrs); crs.close(); crs1.close(); } }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0003(CachedRowSet crs,joinCols); validateResults(jrs); crs.close(); crs1.close(); } }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0005(CachedRowSet crs,CachedRowSet crs1) throws Exception { try (JoinRowSet jrs = newInstance()) { crs.setMatchColumn(JOIN_COLNAME); crs1.setMatchColumn(JOIN_COLNAME); jrs.addRowSet(crs); jrs.addRowSet(crs1); validateResults(jrs); crs.close(); crs1.close(); } }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0006(CachedRowSet crs,CachedRowSet crs1) throws Exception { try (JoinRowSet jrs = newInstance()) { crs.setMatchColumn(COFFEES_JOIN_COLUMN_INDEX); crs1.setMatchColumn(supplierS_JOIN_COLUMN_INDEX); jrs.addRowSet(crs); jrs.addRowSet(crs1); validateResults(jrs); crs.close(); crs1.close(); } }
private void validateResults(final JoinRowSet jrs) throws sqlException { List<Integer> results = new ArrayList<>(); jrs.beforeFirst(); while (jrs.next()) { if (jrs.getInt(JOIN_COLNAME) == SUP_ID) { results.add(jrs.getInt("COF_ID")); } } assertEquals(results.toArray(),EXPECTED); }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0000(CachedRowSet crs,JOIN_COLNAME); validateResults(jrs); crs.close(); crs1.close(); } }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0001(CachedRowSet crs,supplierS_JOIN_COLUMN_INDEX); validateResults(jrs); crs.close(); crs1.close(); } }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0002(CachedRowSet crs,joinCols); validateResults(jrs); crs.close(); crs1.close(); } }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0003(CachedRowSet crs,joinCols); validateResults(jrs); crs.close(); crs1.close(); } }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0005(CachedRowSet crs,CachedRowSet crs1) throws Exception { try (JoinRowSet jrs = newInstance()) { crs.setMatchColumn(JOIN_COLNAME); crs1.setMatchColumn(JOIN_COLNAME); jrs.addRowSet(crs); jrs.addRowSet(crs1); validateResults(jrs); crs.close(); crs1.close(); } }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0006(CachedRowSet crs,CachedRowSet crs1) throws Exception { try (JoinRowSet jrs = newInstance()) { crs.setMatchColumn(COFFEES_JOIN_COLUMN_INDEX); crs1.setMatchColumn(supplierS_JOIN_COLUMN_INDEX); jrs.addRowSet(crs); jrs.addRowSet(crs1); validateResults(jrs); crs.close(); crs1.close(); } }
private void validateResults(final JoinRowSet jrs) throws sqlException { List<Integer> results = new ArrayList<>(); jrs.beforeFirst(); while (jrs.next()) { if (jrs.getInt(JOIN_COLNAME) == SUP_ID) { results.add(jrs.getInt("COF_ID")); } } assertEquals(results.toArray(),EXPECTED); }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0000(CachedRowSet crs,JOIN_COLNAME); validateResults(jrs); crs.close(); crs1.close(); } }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0001(CachedRowSet crs,supplierS_JOIN_COLUMN_INDEX); validateResults(jrs); crs.close(); crs1.close(); } }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0002(CachedRowSet crs,joinCols); validateResults(jrs); crs.close(); crs1.close(); } }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0003(CachedRowSet crs,joinCols); validateResults(jrs); crs.close(); crs1.close(); } }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0005(CachedRowSet crs,CachedRowSet crs1) throws Exception { try (JoinRowSet jrs = newInstance()) { crs.setMatchColumn(JOIN_COLNAME); crs1.setMatchColumn(JOIN_COLNAME); jrs.addRowSet(crs); jrs.addRowSet(crs1); validateResults(jrs); crs.close(); crs1.close(); } }
@Test(dataProvider = "createCachedRowSetsToUse") public void joinRowSetTests0006(CachedRowSet crs,CachedRowSet crs1) throws Exception { try (JoinRowSet jrs = newInstance()) { crs.setMatchColumn(COFFEES_JOIN_COLUMN_INDEX); crs1.setMatchColumn(supplierS_JOIN_COLUMN_INDEX); jrs.addRowSet(crs); jrs.addRowSet(crs1); validateResults(jrs); crs.close(); crs1.close(); } }
public void testreadxml_Empty() throws Exception { jrs = newJoinRowSet(); jrs.addRowSet(crset,1); StringWriter writer = new StringWriter(); jrs.writeXml(writer); JoinRowSet another = newJoinRowSet(); another.readxml(new StringReader(writer.getBuffer().toString())); assertCachedRowSetEquals(jrs,another); }
public void testWriteAndRead_Insert() throws Exception { jrs.addRowSet(crset,1); jrs.beforeFirst(); assertTrue(jrs.next()); jrs.movetoInsertRow(); jrs.updateInt(1,5); jrs.updateString(2,"insertrow"); jrs.insertRow(); jrs.movetoCurrentRow(); jrs.beforeFirst(); jrs.absolute(2); assertTrue(jrs.rowInserted()); StringWriter writer = new StringWriter(); jrs.writeXml(writer); JoinRowSet another = newJoinRowSet(); another.readxml(new StringReader(writer.getBuffer().toString())); if (System.getProperty("Testing Harmony") == "true") { assertCachedRowSetEquals(jrs,another); } else { // Todo why the output xml has no insert information. another.absolute(2); assertFalse(another.rowInserted()); jrs.absolute(2); assertTrue(jrs.rowInserted()); } }
public void testWriteAndRead_Update() throws Exception { jrs.addRowSet(crset,1); jrs.beforeFirst(); assertTrue(jrs.absolute(3)); jrs.updateString(2,"updateRow"); jrs.updateRow(); assertTrue(jrs.next()); jrs.updateString(2,"anotherUpdateRow"); jrs.updateRow(); StringWriter writer = new StringWriter(); jrs.writeXml(writer); JoinRowSet another = newJoinRowSet(); another.readxml(new StringReader(writer.getBuffer().toString())); if (System.getProperty("Testing Harmony") == "true") { assertCachedRowSetEquals(jrs,another); } else { another.absolute(3); assertFalse(another.rowUpdated()); jrs.absolute(3); assertTrue(jrs.rowUpdated()); // Todo why the output xml has no update information. another.absolute(4); assertFalse(another.rowUpdated()); jrs.absolute(4); assertTrue(jrs.rowUpdated()); } }
public void testWriteXmlLResultSet() throws Exception { StringWriter writer = new StringWriter(); rs = st.executeQuery("select * from user_info"); jrs.writeXml(rs,writer); JoinRowSet jrs2 = newJoinRowSet(); jrs2.readxml(new StringReader(writer.getBuffer().toString())); assertCachedRowSetEquals(crset,jrs2); }
public void testreadxml_Empty() throws Exception { jrs = newJoinRowSet(); jrs.addRowSet(crset,another); }
matlab中fopen 打开文件或获得有关打开文件的信息
参考:https://ww2.mathworks.cn/help/matlab/ref/fopen.html?searchHighlight=fopen&s_tid=doc_srchtitle
个人认为返回的标识符是一个文件句柄handle, 网上的解释是: MATLAB® 保留文件标识符 0
、1
和 2
分别用于标准输入、标准输出(屏幕)和标准错误。
fopen
打开文件或获得有关打开文件的信息
语法
fileID = fopen(filename)
fileID = fopen(filename,permission)
fileID = fopen(filename,permission,machinefmt,encodingIn)
[fileID,errmsg] = fopen(___)
fIDs = fopen(''all'')
filename = fopen(fileID)
[filename,permission,machinefmt,encodingOut] = fopen(fileID)
说明
示例
fileID = fopen(
打开文件 filename
)filename
以便以二进制读取形式进行访问,并返回等于或大于 3 的整数文件标识符。MATLAB® 保留文件标识符 0
、1
和 2
分别用于标准输入、标准输出(屏幕)和标准错误。
如果 fopen
无法打开文件,则 fileID
为 -1
。
fileID = fopen(
将打开由 filename
,permission
)permission
指定访问类型的文件。
示例
fileID = fopen(
使用 filename
,permission
,machinefmt
,encodingIn
)machinefmt
参数另外指定在文件中读写字节或位时的顺序。可选的 encodingIn
参数指定与文件相关联的字符编码方案。
示例
如果 fopen
打开文件失败,则 [fileID,errmsg] = fopen(___)
还将返回一条因系统而异的错误消息。否则,errmsg
是一个空字符向量。您可以将此语法与前面语法中的任何输入参数结合使用。
示例
fIDs = fopen(''all'')
返回包含所有打开文件的文件标识符的行向量。为标准输入、输出以及错误而保留的标识符不包括在内。向量中元素的数量等于打开文件的数量。
filename = fopen(
返回上一次调用 fileID
)fopen
在打开 fileID
指定的文件时所使用的文件名。输出文件名将解析到完整路径。fopen
函数不会从文件读取信息来确定输出值。
示例
[filename,permission,machinefmt,encodingOut] = fopen(
还会返回上一次调用 fileID
)fopen
在打开指定文件时所使用的权限、计算机格式以及编码。如果是以二进制模式打开的文件,则 permission
会包含字母 ''b''
。encodingOut
输出是一个标准编码方案名称。fopen
不会从文件读取信息来确定这些输出值。无效的 fileID
会为所有输出参数返回空字符向量。
示例
全部折叠
打开文件并将标识符传递给文件 I/O 函数
打开文件并将文件标识符传递给 fgetl
函数以读取数据。
打开文件 tsunamis.txt
并获取文件标识符。
fileID = fopen(''tsunamis.txt'');
将 fileID
传递给 fgetl
函数以从文件读取一行。
tline = fgetl(fileID)
tline =
''A global tsunami data set in xlsx format, comprising the following file:''
关闭文件。
fclose(fileID)
请求要打开的文件的名称
创建一条提示,要求提供待打开文件的名称。如果 fopen
无法打开文件,则显示相关错误消息。
fileID = -1;
errmsg = '''';
while fileID < 0
disp(errmsg);
filename = input(''Open file: '', ''s'');
[fileID,errmsg] = fopen(filename);
end
打开要写入的文件并指定访问类型、写入顺序、字符编码
打开一个文件,使用 Shift-JIS 字符编码写入到文件。
fileID = fopen(''japanese_out.txt'',''w'',''n'',''Shift_JIS'');
''w''
输入指定写入权限,''n''
输入指定本机字节排序方式,''Shift_JIS''
指定字符编码方案。
获取有关已打开文件的信息
假定您以前使用 fopen
打开了文件。
fileID = fopen(''tsunamis.txt'');
获取所有已打开文件的文件标识符。
fIDs = fopen(''all'')
fIDs =
3
获取已打开文件的文件名称及字符编码。使用 ~
代替您希望省略的输出参数。
[filename,~,~,encoding] = fopen(fileID)
filename =
''matlabroot\toolbox\matlab\demos\tsunamis.txt''
encoding =
''windows-1252''
这里显示的输出内容有代表性。您的结果可能有所不同。
输入参数
全部折叠
filename
- 要打开的文件的名称
字符向量或字符串标量
要打开的文件名称(含文件扩展名),指定为字符行向量或字符串标量。如果该文件不在当前文件夹中,则 filename
必须包含完整或相对路径。
在 UNIX® 系统上,如果 filename
以 ''~/''
或 ''~
开头,则 username
/''fopen
函数分别延长路径至当前用户或指定用户的主目录。
-
如要打开有读取权限的文件而该文件不在当前文件夹中,则
fopen
将沿 MATLAB 搜索路径进行搜索。 -
如要打开有写入或追加权限的文件而该文件不在当前文件夹中,则
fopen
将在当前目录中创建一个文件。
示例: ''myFile.txt''
数据类型: char
| string
permission
- 文件访问类型
''r''
(默认) | ''w''
| ''a''
| ''r+''
| ''w+''
| ''a+''
| ''A''
| ''W''
| ...
文件访问类型,指定为字符向量或字符串标量。您可以用二进制模式或文本模式打开文件。在 UNIX 系统上,两种转换模式具有相同的效果。要以二进制模式打开文件,请指定以下各项之一。
|
打开要读取的文件。 |
|
打开或创建要写入的新文件。放弃现有内容(如果有)。 |
|
打开或创建要写入的新文件。追加数据到文件末尾。 |
|
打开要读写的文件。 |
|
打开或创建要读写的新文件。放弃现有内容(如果有)。 |
|
打开或创建要读写的新文件。追加数据到文件末尾。 |
|
打开文件以追加(但不自动刷新)当前输出缓冲区。 |
|
打开文件以写入(但不自动刷新)当前输出缓冲区。 |
要以文本模式打开文件,请将字母 ''t''
附加到 permission
参数,例如 ''rt''
或 ''wt+''
。
在 Windows® 系统上,以文本模式:
-
读取操作如果遇到回车符后加换行符 (
''\r\n''
),则会从输入中删除回车符。 -
写入操作在输出中的任何换行符之前插入一个回车符。
如果要在 MATLAB 中写入文件,则以文本模式打开或创建新文件,然后在 Microsoft® 记事本或不会将 ''\n''
识别为换行符序列的任意文本编辑器中打开该文件。写入文件时,用 ''\r\n''
结束每行。有关示例,请参阅 fprintf
。否则,请以二进制模式打开文件以获得更佳的性能。
要读写同一文件:
-
采用带加号
''+''
的permission
值打开文件。 -
在读写操作之间调用
fseek
或frewind
。例如,不在调用fread
后调用fwrite
,或调用fwrite
后调用fread
,除非在它们之间调用fseek
或frewind
。
数据类型: char
| string
machinefmt
- 读取或写入字节或位的顺序
''n''
(默认) | ''b''
| ''l''
| ''s''
| ''a''
| ...
在文件中读取或写入字节或位的顺序,指定为以下字符向量或字符串标量之一。
|
系统字节排序方式(默认) |
|
Big-endian 排序 |
|
Little-endian 排序 |
|
Big-endian 排序,64 位长数据类型 |
|
Little-endian 排序,64 位长数据类型 |
默认情况下,当前支持的所有平台都使用 little-endian 排序方式对新文件进行排序。现有二进制文件可以使用 big-endian 或 little-endian 排序方式。
数据类型: char
| string
encodingIn
- 字符编码
''UTF-8''
| ''ISO-8859-1''
| ''windows-1251''
| ''windows-1252''
| ...
后续读写操作使用的字符编码,包括 fscanf
、fprintf
、fgetl
、fgets
、fread
以及 fwrite
,指定为字符向量或字符串标量。该字符向量或字符串标量必须包含标准字符编码方案名称,如下所示。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
如果您不指定编码方案,fopen
将使用系统的默认编码方案打开文件进行处理。有关详细信息,请参阅使用不同的字符编码打开文件。
如果为编码指定的值不在支持的值列表中,则 MATLAB 会发出警告。有时(并非总是)指定其他编码名称会产生正确的结果。
数据类型: char
| string
fileID
- 已打开文件的文件标识符
整数
已打开文件的文件标识符,指定为整数。
数据类型: double
提示
-
在大多数情况下,不必以文本模式打开文件。MATLAB 导入函数、所有 UNIX 应用程序以及 Microsoft Word 和写字板都将
''\n''
识别为换行指示符。
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
-
代码生成不支持:
-
输入参数
machinefmt
、encodingIn
或fileID
。 -
输出参数
errmsg
。 -
语法
fopen(''all'')
。 -
以文本模式打开文件。即
permission
参数不能包含字母t
。例如,值不能为''rt''
。
-
-
permission
参数最多可以包含三个字符。字符必须是唯一的。 -
如果您禁用外部调用,则不能将使用
fopen
创建的文件标识符返回给 MATLAB 函数或外部函数。这些文件标识符只能在内部使用。 -
生成 C/C++ 可执行文件、静态库或动态库时,最多可以打开 20 个文件。
-
生成的代码不会报告因文件标识符无效而产生的错误。请在您自己的 MATLAB 代码中自行编写文件打开错误处理程序。测试
fopen
是否返回-1
,此值表示文件打开失败。例如:... fid = fopen(filename, ''r''); if fid == -1 % fopen failed else % fopen successful, okay to call fread A = fread(fid); ...
-
当您执行以下操作时,生成的代码对于
fread
的行为取决于编译器:-
使用
fopen
和a+
permission
打开文件。 -
在调用设置文件位置指示符的 I/O 函数(如
fseek
或frewind
)之前,使用fread
读取文件。
-
OpenRead方法打开文件并读取
实现效果:
知识运用:
File类的OpenRead方法 //实现打开现有文件以进行读取
public static FileStream OpenRead(string path)
FileStream类的Read方法 //实现从流中读取字节块并将该数据写入给定的缓冲区
public overrider int Read (byte[] array, int offset, int count)
补充:Encoding类的GetStrin方法 //实现将字节数组解码为对应的字符串
实现代码:
private void button1_Click(object sender, EventArgs e)
{
try
{
OpenFileDialog OFDialog = new OpenFileDialog();
OFDialog.Filter = "文本文件(*.txt)|*.txt";
OFDialog.ShowDialog();
textBox1.Text = OFDialog.FileName;
FileStream fs = File.OpenRead(textBox1.Text);
byte[] bt=new byte[1024];
while(fs.Read(bt,0,bt.Length)>0)
{
textBox2.Text = Encoding.UTF8.GetString(bt);
}
}
catch (Exception)
{ MessageBox.Show("请选择文件"); }
}
openrowset
包含访问 OLE DB 数据源中的远程数据所需的全部连接信息。当访问链接服务器中的表时,这种方法是一种替代方法,并且是一种使用 OLE DB 连接并访问远程数据的一次性的、特殊的方法。可以在查询的 FROM 子句中像引用表名那样引用 OPENROWSET 函数。依据 OLE DB 提供程序的能力,还可以将 OPENROWSET 函数引用为 INSERT、UPDATE 或 DELETE 语句的目标表。尽管查询可能返回多个结果集,然而 OPENROWSET 只返回第一个
今天关于使用SQL凭据通过OpenRowSet打开文件的介绍到此结束,谢谢您的阅读,有关javax.sql.rowset.JoinRowSet的实例源码、matlab中fopen 打开文件或获得有关打开文件的信息、OpenRead方法打开文件并读取、openrowset等更多相关知识的信息可以在本站进行查询。
本文标签: