这篇文章主要围绕数据库连接串MSSQL、Oracle、Access和数据库连接串是什么展开,旨在为您提供一份详细的参考资料。我们将全面介绍数据库连接串MSSQL、Oracle、Access的优缺点,解
这篇文章主要围绕数据库连接串 MSSQL、Oracle、Access和数据库连接串是什么展开,旨在为您提供一份详细的参考资料。我们将全面介绍数据库连接串 MSSQL、Oracle、Access的优缺点,解答数据库连接串是什么的相关问题,同时也会为您带来(SQL Server) 链接服务器到 MS Access 仅显示现有 MS Access 查询的部分列表、Access 2016-Access 2019中的链接表失败:“无法读取
- 数据库连接串 MSSQL、Oracle、Access(数据库连接串是什么)
- (SQL Server) 链接服务器到 MS Access 仅显示现有 MS Access 查询的部分列表
- Access 2016-Access 2019中的链接表失败:“无法读取
中的数据” - Access DoCMD.OpenReport acViewPreview 从不打开预览并冻结 Access
- access mysql mssql 随机 10条数据的sql语句 原创
数据库连接串 MSSQL、Oracle、Access(数据库连接串是什么)
1、MSSQL 连接字符串
(1)OLEDB
Windows 身份验证
"Provider=SQLOLEDB;Data Source=PEK7-6TKX23X\SQLEXPRESS;Initial Catalog=Test;Trusted_Connection=Yes;";
SQL Server 身份验证
"Provider=SQLOLEDB;Data Source=127.0.0.1\SQLEXPRESS;Initial Catalog=Test;User Id=sa;Password=123456;";
(2)SqlConnection
Windows 身份验证
"Data Source=PEK7-6TKX23X\SQLEXPRESS;Initial Catalog=Test;Trusted_Connection=Yes;";
SQL Server 身份验证
"server=127.0.0.1\SQLEXPRESS;database=Test;Uid=sa;PassWord=123456";
(3)ODBC
Driver={SQL Server}; Server = 服务器 IP; Database = 数据库名;Uid = 用户名;Pwd = 密码;
(4)DSN 方式
DSN=DSN 名;Uid = 用户名;Pwd = 密码;
2、MYSQL 连接字符串
例:mysql 示例
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Linq;
using System.Text;
using System.Data.OleDb;
using System.Data.SqlClient;
using System.Data.Sql;
namespace ado
{
public class ConnectionDemo1
{
public void GetOleDbTable()
{
#region namespace
//using System.Data.OleDb;
#endregion
#region OLEDB Access
//OLEDB
//C# 连接 Access 的方式
//Access 2003 Provider=Microsoft.Jet.OLEDB.4.0
//Access 2007 Provider=Microsoft.Ace.OleDb.12.0
//(1) 无数据库密码,无用户密码,共享方式打开
//"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\qjx 文档 \GenericDemo\Data\Student.accdb;"
//(2) 有数据库密码,没有用户密码,这种方式以独占方式打开
//"Provider=Microsoft.Jet.OleDB.4.0;Data Source=D:\qjx 文档 \GenericDemo\Data\Student.accdb;Jet OleDb:DataBase Password=123"
//(3) 有数据库密码,有用户密码 可以用该方法,但用户密码处就算设有密码也必须为空,这种方式以独占方式打开
//"Provider=Microsoft.Jet.OleDB.4.0;Data Source=D:\qjx 文档 \GenericDemo\Data\Student.accdb;Jet OleDb:DataBase Password=12345;Persist Security Info=true;password=;user id=Admin"
#endregion
#region OLEDB MSSQL
//OLEDB
//C# 连接 MSSQL 的方式
//Windows 身份验证
//"Provider=SQLOLEDB;Data Source=PEK7-6TKX23X\SQLEXPRESS;Initial Catalog=Test;Trusted_Connection=Yes;";
//SQL Server 身份验证
//"Provider=SQLOLEDB;Data Source=127.0.0.1\SQLEXPRESS;Initial Catalog=Test;User Id=sa;Password=123456;";
#endregion
#region OLEDB Oracle
//OLEDB
//C# 连接 Oracle 的方式
//"Provider=MSDAORA;Data Source=MyDatabaseAlias;User ID=MyUID;Password=MyPassword";
#endregion
//string strConn = @"Provider=Microsoft.Ace.OleDb.12.0;Data Source=D:\qjx 文档 \GenericDemo\Data\Student.accdb;Jet OleDb:DataBase Password=123";//Access 2007
string strConn =
@"Provider=SQLOLEDB;Data Source=127.0.0.1\SQLEXPRESS;Initial Catalog=Test;User Id=sa;Password=123456;";
OleDbConnection conn = new OleDbConnection(strConn);
OleDbCommand comm = new OleDbCommand();
comm.CommandText = "SELECT * FROM Users";
comm.CommandType = CommandType.Text;
comm.Connection = conn;
if (conn.State != ConnectionState.Open)
{
conn.Open();
DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter(comm);
da.Fill(ds);
conn.Close();
}
}
public void GetSqlConnectionTable()
{
#region namespace
//using System.Data.SqlClient;
#endregion
#region MSSQL SqlConnection
//SqlConnection
//C# 连接 MSSQL 的方式
//Windows 身份验证
//"Data Source=PEK7-6TKX23X\SQLEXPRESS;Initial Catalog=Test;Trusted_Connection=Yes;";
//SQL Server 身份验证
//"server=127.0.0.1\SQLEXPRESS;database=Test;Uid=sa;PassWord=123456";
#endregion
//string strConn = @"server=127.0.0.1\SQLEXPRESS;database=Test;Uid=sa;PassWord=123456";
string strConn = @"Data Source=PEK7-6TKX23X\SQLEXPRESS;Initial Catalog=Test;Trusted_Connection=Yes;";
SqlConnection conn = new SqlConnection(strConn);
SqlCommand comm = new SqlCommand();
comm.CommandText = "SELECT * FROM Users";
comm.CommandType = CommandType.Text;
comm.Connection = conn;
if(conn.State!=ConnectionState.Open)
{
conn.Open();
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(comm);
da.Fill(ds);
conn.Close();
}
}
}
}
3、Oracle 连接字符串
OLEDB
"Provider=MSDAORA;Data Source=MyDatabaseAlias;User ID=MyUID;Password=MyPassword";
4、ACCESS 连接字符串
//OLEDB
//C# 连接 Access 的方式
//Access 2003 Provider=Microsoft.Jet.OLEDB.4.0
//Access 2007 Provider=Microsoft.Ace.OleDb.12.0
//(1) 无数据库密码,无用户密码,共享方式打开
//"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\qjx 文档 \GenericDemo\Data\Student.accdb;"
//(2) 有数据库密码,没有用户密码,这种方式以独占方式打开
//"Provider=Microsoft.Jet.OleDB.4.0;Data Source=D:\qjx 文档 \GenericDemo\Data\Student.accdb;Jet OleDb:DataBase Password=123"
//(3) 有数据库密码,有用户密码 可以用该方法,但用户密码处就算设有密码也必须为空,这种方式以独占方式打开
//"Provider=Microsoft.Jet.OleDB.4.0;Data Source=D:\qjx 文档 \GenericDemo\Data\Student.accdb;Jet OleDb:DataBase Password=12345;Persist Security Info=true;password=;user id=Admin"
MS ACCESS ODBC 开放式接口连接字符串
标准链接:
"Driver= {MicrosoftAccessDriver (*.mdb)};DBQ=C:\App1\ 你的数据库名.mdb;Uid = 你的用户名;Pwd = 你的密码;"
如果 ACCESS 数据库未设置用户名和密码,请留空。下同。
WorkGroup 方式(工作组方式)连接:
"Driver={Microsoft Access Driver (*.mdb)}; Dbq=C:\App1\ 你的数据库名.mdb; SystemDB=C:\App1\ 你的数据库名.mdw;"
采用独占方式进行连接:
"Driver={Microsoft Access Driver (*.mdb)}; DBQ=C:\App1\ 你的数据库名.mdb; Exclusive=1; Uid = 你的用户名;Pwd = 你的密码;"
MS ACCESS OLEDB & OleDbConnection (.NET 下的 OleDb 接口)进行链接
普通方式(最常用)连接 ACCESS 数据库:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\ 你的数据库名.mdb; User Id=admin; Password="
使用工作组方式(系统数据库)连接 ACCESS 数据库:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\ 你的数据库名.mdb; Jet OLEDB:System Database=c:\App1\ 你的系统数据库名.mdw"
连接到带有密码的 ACCESS 数据库:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\ 你的数据库名.mdb; Jet OLEDB:Database Password = 你的密码"
连接到处于局域网主机上的 ACCESS 数据库:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\\Server_Name\Share_Name\Share_Path\ 你的数据库名.mdb"
连接到处于远程服务器上的 ACCESS 数据库:
"Provider=MS Remote; Remote Server=http:// 远程服务器 IP; Remote Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\ 你的数据库名.mdb"
MS ACCESS ODBC 开放式接口连接字符串
标准链接:
"Driver= {MicrosoftAccessDriver (*.mdb)};DBQ=C:\App1\ 你的数据库名.mdb;Uid = 你的用户名;Pwd = 你的密码;"
如果 ACCESS 数据库未设置用户名和密码,请留空。下同。
WorkGroup 方式(工作组方式)连接:
"Driver={Microsoft Access Driver (*.mdb)}; Dbq=C:\App1\ 你的数据库名.mdb; SystemDB=C:\App1\ 你的数据库名.mdw;"
采用独占方式进行连接:
"Driver={Microsoft Access Driver (*.mdb)}; DBQ=C:\App1\ 你的数据库名.mdb; Exclusive=1; Uid = 你的用户名;Pwd = 你的密码;"
MS ACCESS OLEDB & OleDbConnection (.NET 下的 OleDb 接口)进行链接
普通方式(最常用)连接 ACCESS 数据库:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\ 你的数据库名.mdb; User Id=admin; Password="
使用工作组方式(系统数据库)连接 ACCESS 数据库:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\ 你的数据库名.mdb; Jet OLEDB:System Database=c:\App1\ 你的系统数据库名.mdw"
连接到带有密码的 ACCESS 数据库:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\ 你的数据库名.mdb; Jet OLEDB:Database Password = 你的密码"
连接到处于局域网主机上的 ACCESS 数据库:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\\Server_Name\Share_Name\Share_Path\ 你的数据库名.mdb"
连接到处于远程服务器上的 ACCESS 数据库:
"Provider=MS Remote; Remote Server=http:// 远程服务器 IP; Remote Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\ 你的数据库名.mdb"
___________________________________
打開 Access 的方式
Access 的打開方式有兩种,一种是以獨占式方式打開,另一种共享方式,如果以獨占式式打開,那么其它的程式在就只能讀這個文件,而不能 update 和 delete. 如果設定了數据庫密碼,C# 就連不上了。默認的是以共享方式打開的.
設定 Access 的密碼
Access 的密碼有 2 种,分別由如下方式設定,
(1)"工具”->" 安全 "->" 设置数据库密码 "
(2)"工具"->"安全"->"用户与组的账户"
手動打開 Access 文件時,會首先提示輸入用戶名和密碼,然后再提示輸入數据庫密碼.
C# 連接 Access 的方式
(1) 無數据庫密碼時 (有沒有用戶密碼該方法都可以), 這种方式以共享方式打開.
OleDbConnection dbconn=new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data source=D:\Testdb.mdb;");
(2) 有數据庫密碼時 (有沒有用戶密碼該方法都可以), 這种方式以獨占式方式打開.
OleDbConnection dbconn = new OleDbConnection(@"Provider=Microsoft.Jet.OleDB.4.0;Data Source=D:\Testdb.mdb;Jet OleDb:DataBase Password=12345");
(3) 在數据庫密碼和用戶密碼都有時,可以用該方法,但用戶密碼處就算設有密碼也必須為空,這种方式也將以獨占式方式打開.
OleDbConnection dbconn = new OleDbConnection(@"Provider=Microsoft.Jet.OleDB.4.0;Data Source=D:\Testdb.mdb;Jet OleDb:DataBase Password=12345;Persist Security Info=true;password=;user id=Admin");
本文分享自微信公众号 - IT 技术分享社区(gh_a27c0758eb03)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与 “OSC 源创计划”,欢迎正在阅读的你也加入,一起分享。
(SQL Server) 链接服务器到 MS Access 仅显示现有 MS Access 查询的部分列表
如何解决(SQL Server) 链接服务器到 MS Access 仅显示现有 MS Access 查询的部分列表
使用 SSMS,我可以将链接服务器设置为现有的 MS Access 数据库。这个 MS Access 数据库包含大约 60 个(MS Access)查询。
但是,我只能看到 20 个查询。
请帮我找出这个问题的可能原因。我该怎么做才能看到它们。
非常感谢您抽出宝贵时间。
Access 2016-Access 2019中的链接表失败:“无法读取中的数据”
如何解决Access 2016-Access 2019中的链接表失败:“无法读取<table_name>中的数据”
我正在Access 2019上开发Access应用程序。我已将项目分为前端和后端。我试图将应用程序部署到正在使用Access 2016的用户。在前端文件中链接后端表时,我遇到此错误:
The Microsoft Access database engine cannot read the data in Receiving.
The minimum required version to read the data is 16.0.7124.1000.
但是,这仅发生在我的两个表Customer
和Receiving
中。这是仅有的两个使用AutoNumber
设置为Field Size
的{{1}}字段的表。
Long Integer
是否有问题?还是Access 2016不支持AutoNumber
字段大小?想知道将表与2019年版中的2016年版链接对我来说最好的选择是什么。
编辑:
以下是Long Integer
表的 Database Documenter 工具的输出:
解决方法
此特定错误是由大数字数据类型或BigInt引起的。
您可以阅读有关here的文档
请注意,Access 2016在以后的更新中已添加了支持,这就是为什么最低要求版本以与Access 2016相对应的 16 开头的原因,因此仅更新Access 2016可能会解决您的问题。
>否则,删除所有大数字字段。
请注意,大数字和设置为 Long Integer 的数字完全不同,长整数为32位长,并且所有版本的Access都支持, 大号的长度为64位,自2017年第二季度以来仅受支持,并且在VBA中使用它时存在某些问题。
从Excel导入时,Access倾向于潜入Large Number数据类型。我强烈建议您避免使用它,除非出于兼容性原因,否则确实需要它,并且可以简化在VBA中使用表的过程。
,规则往往很简单:
您几乎可以始终前进。其中包括word,excel或Access。
换句话说? 您必须开发并使用Access的最低通用版本。因此,假设您可以使用Access2010。那么2013、2016和2019年的用户将没有问题。
但是,要“回到过去”还是“回到版本”?
这往往是个问题。 那么,如果您仍然会有2016年的用户?然后,那一定是您用于开发的内容。此问题通常适用于Excel或word。您使用的是v-next很棒的版本和一些新功能(或新格式)吗?这样以前的版本就会遇到麻烦。
Access DoCMD.OpenReport acViewPreview 从不打开预览并冻结 Access
如何解决Access DoCMD.OpenReport acViewPreview 从不打开预览并冻结 Access
我花了几个小时寻找解决方案和故障排除。
我工作的公司将 Access DB 用于生产目的。最近,一位同事被要求在表格和表单中添加一列。哪个按预期工作。但是,由于添加了打印预览和打印的按钮不再起作用,实际上对话框永远不会弹出并且 Access 本身冻结。 CTRL-G 仍然有效。
打印按钮的事件与添加新列之前的事件相同...
Private Sub cmdPrint_Click()
On Error GoTo Error_Handler
''Open the report only if viewing the inventory not the lot transactions.
If Form_frmViewInv_Sub2.Visible = True Then
MsgBox "Report not available at this time - Please contact your administrator!",_
vbinformation,DATABASE_NAME
Else
DoCmd.OpenReport "rptInventory",acViewPreview
End If
Exit_Procedure: ''Clean up and exit.
On Error Resume Next
Exit Sub
Error_Handler:
displayUnexpectedError Err.Number,Err.Description
Resume Exit_Procedure
Resume
End Sub
没有错误,事件查看器中没有任何内容,Access 只是冻结。
我觉得这很简单,但 Access 不是我的杯中茶。
感谢任何指导或建议。
谢谢。
rptInventory 的代码...
Option Compare Database
Option Explicit
Private Sub Report_Open(Cancel As Integer)
Dim frm As Form_frmViewInv
Dim frm2 As Form_frmViewInv_Sub1
On Error GoTo Error_Handler
''Set the form object variables.
Set frm = Form_frmViewInv
Set frm2 = Form_frmViewInv_Sub1
''Transfer the form attributes to the report.
With Me
.RecordSource = frm2.RecordSource
.Filter = frm2.Filter
.FilterOn = True
.OrderBy = frm2.OrderBy
.OrderByOn = True
End With
''Build the report title.
Me.lblTitle1.Caption = "Company - " & _
Left(frm.lblTitle.Caption,InStr(1,frm.lblTitle.Caption,"(",vbTextCompare) - 3)
Me.lblTitle2.Caption = frm.txtInvDate.Value
Exit_Procedure: ''Clean up and exit.
On Error Resume Next
Set frm = nothing
Set frm2 = nothing
Exit Sub
Error_Handler:
displayUnexpectedError Err.Number,Err.Description
Resume Exit_Procedure
Resume
End Sub
Private Function ProdTypeDesc(ProdType As String) As String
On Error GoTo Error_Handler
''Get the product type description to display on the grouping.
Select Case ProdType
Case "0"
ProdTypeDesc = "RM - Raw Material"
Case "1"
ProdTypeDesc = "FG - Finished Goods (BAT)"
Case "2"
ProdTypeDesc = "FG - Finished Goods (NER)"
Case "3"
ProdTypeDesc = "MU - MadeUp Recipe"
Case "4"
ProdTypeDesc = "PK - Packaging"
Case Else
ProdTypeDesc = "Unclassified Product Type"
End Select
Exit_Procedure: ''Clean up and exit.
On Error Resume Next
Exit Function
Error_Handler:
displayUnexpectedError Err.Number,Err.Description
Resume Exit_Procedure
Resume
End Function
更新***
通过在设计视图中从 rptInventory Data->Filter 中删除 ProdType IN(''RM'',''MU'',''PK'',''FG'',''SP'')
,我能够使其正常运行。不过,我不知道为什么会这样。
access mysql mssql 随机 10条数据的sql语句 原创
access 随机 10条数据的方法select * from table order by rnd(id)